比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
C |
题目名称 |
Asm.Def的游戏 |
最终得分 |
0 |
用户昵称 |
啊啦吧啦吧啦 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2015-10-31 09:54:44 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int n,m,u,v,edge=0;
int link[100010];
int first[100010],next[500010],to[500010];
int xo;
inline int in()
{
char c;
int x=0,f=1;
c=getchar();
while(c<'0'||c>'9'){
if(c=='-')f=-1;
c=getchar();
}
for(;c>='0'&&c<='9';c=getchar())x=x*10+c-'0';
return x*f;
}
void ins(int a,int b)
{
edge++;
next[edge]=first[a];
first[a]=edge;
to[edge]=b;
edge++;
next[edge]=first[b];
first[b]=edge;
to[edge]=a;
}
int del()
{
bool f=1;
for(int i=1;i<=n;i++)
{
if(link[i]<3&&link[i])
{
for(int j=first[i];j!=0;j=next[j])
if(link[to[j]])
link[to[j]]--;
link[i]=0;
f=0;
}
}
return f;
}
int main()
{
freopen("asm_game.in","r",stdin);
freopen("asm_game.out","w",stdout);
n=in();m=in();
for(int i=1;i<=m;i++)
{
u=in();v=in();
link[u]++;
link[v]++;
ins(u,v);
}
bool ne=del();
while(!ne)ne=del();
bool flag=0;
for(int i=1;i<=n;i++)
{
if(link[i]&&link[i]>=3)
if(!flag)
{
xo=i;
flag=1;
}
else
xo^=i;
}
printf("%d",xo);
fclose(stdin);
fclose(stdout);
return 0;
}