比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 AAAAAAAAAA
题目名称 Asm.Def的游戏 最终得分 100
用户昵称 Tychus 运行时间 0.080 s
代码语言 C++ 内存使用 9.09 MiB
提交时间 2015-10-31 09:44:35
显示代码纯文本
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cmath>
#include <iomanip>
using namespace std;
struct line
{
	int y,next;
}e[1000010];
int n,m,linkk[100010],id[100010],head=0,tail=0,ans=0,q[100010];
void init()
{
	cin>>n>>m;
	for (int i=1;i<=m;i++)
	{
		int xx,yy;
		scanf("%d%d",&xx,&yy);
		e[2*i-1].y=yy;
		e[2*i-1].next=linkk[xx];
		linkk[xx]=2*i-1;
		e[2*i].y=xx;
		e[2*i].next=linkk[yy];
		linkk[yy]=2*i;
		id[xx]++;
		id[yy]++;
	}
	for (int i=1;i<=n;i++)
		if (id[i]<3) q[++tail]=i;
}
int main()
{
	freopen("asm_game.in","r",stdin);
	freopen("asm_game.out","w",stdout);
	init();
	while (head++<tail)
		for (int i=linkk[q[head]];i;i=e[i].next)
			if (id[e[i].y]>2)
			{
				id[e[i].y]--;
				if (id[e[i].y]<3) q[++tail]=e[i].y;
			}
	for (int i=1;i<=n;i++)
		if (id[i]>2)
		{
			if (!ans) ans=i;
			else ans=ans^i;
		}
	cout<<ans<<endl;
	fclose(stdin);
	fclose(stdout);
	return 0;
}