比赛 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;
}