比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
WAAAWWWWWW |
题目名称 |
Asm.Def的游戏 |
最终得分 |
30 |
用户昵称 |
ifAandBisC |
运行时间 |
0.133 s |
代码语言 |
C++ |
内存使用 |
1.95 MiB |
提交时间 |
2015-10-31 09:33:38 |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#include<cmath>
#include<queue>
#define iii 101010
using namespace std;
int du[iii];
bool vis[iii];
vector<int> head[iii];
queue <int> que;
int main ()
{
freopen ("asm_game.in","r",stdin);
freopen ("asm_game.out","w",stdout);
memset (vis,0,sizeof(vis));
memset (du,0,sizeof(du));
int a,b,n,m;
scanf ("%d%d",&n,&m);
for (int i=1;i<=m;i++)
{
scanf ("%d%d",&a,&b);
head[a].push_back(b);
head[b].push_back(a);
du[a]++;
du[b]++;
}
while (!que.empty()) que.pop();
for (int i=1;i<=n;i++)
if (du[i]&&du[i]<3)
{
que.push(i);
vis[i]=true;
}
while (!que.empty())
{
int V=que.front();
que.pop();
int len=head[V].size();
for (int i=0;i<len;i++)
{
int T=head[V][i];
du[T]--;
if (du[T]<3&&!vis[T])
{
vis[T]=true;
que.push(T);
}
}
}
int ans=0;
for (int i=1;i<=n;i++)
if (!vis[i]) ans^=i;
printf ("%d\n",ans);
return 0;
}