比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 AAAAAAAAAA
题目名称 Asm.Def的游戏 最终得分 100
用户昵称 fyb 运行时间 0.149 s
代码语言 C++ 内存使用 1.93 MiB
提交时间 2015-10-31 08:31:51
显示代码纯文本
#include <cstdio>
#include <vector>
#include <queue>

using namespace std;

#define NMAX 100000

vector<int> g[NMAX+1];
int num[NMAX+1];
bool in_q[NMAX+1];
queue<int> q;

int main(){
	int n,m;
	int tu,tv;
	int ans=0;
	int i;

	freopen("asm_game.in","r",stdin);
	freopen("asm_game.out","w",stdout);

	scanf("%d%d",&n,&m);
	for(i=0;i<m;i++){
		scanf("%d%d",&tu,&tv);
		g[tu].push_back(tv);
		g[tv].push_back(tu);
	}

	for(i=1;i<=n;i++){
		num[i]=g[i].size();
		if(num[i]<3){
			q.push(i);
			in_q[i]=true;
		}
	}

	while(!q.empty()){
		tu=q.front();
		q.pop();

		for(i=0;i<g[tu].size();i++){
			tv=g[tu][i];
			num[tv]--;
			if(num[tv]<3&&!in_q[tv]){
				q.push(tv);
				in_q[tv]=true;
			}
		}
	}

	for(i=1;i<=n;i++)
		if(!in_q[i])ans^=i;
	printf("%d",ans);
	return 0;
}