比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 WAAAWAAWAA
题目名称 Asm.Def的游戏 最终得分 70
用户昵称 asddddd 运行时间 0.141 s
代码语言 C++ 内存使用 1.89 MiB
提交时间 2015-10-31 09:24:26
显示代码纯文本
//
//  main.cpp
//  asm_game
//
//  Created by apple on 15/10/31.
//  Copyright (c) 2015年 刘泽群. All rights reserved.
//

#include <iostream>
#include <vector>
#include <cstdio>
#include <queue>
#define maxn 110000
using namespace std;
int degree[maxn];
bool del[maxn];
vector<int>G[maxn];
void addedge(int from,int to){
    degree[from]++;
    degree[to]++;
    G[from].push_back(to);
    G[to].push_back(from);
}
int main() {
	freopen("asm_game.in","r",stdin);
	freopen("asm_game.out","w",stdout);
    int ans=0;
    ios::sync_with_stdio(0);
    int n,m;
    cin>>n>>m;
    for (int i=0; i<m; i++) {
        int from,to;
        cin>>from>>to;
        addedge(from, to);
    }
    while (1) {
        bool update=0;
        for (int i=1;i<=n ; i++) {
            if(!del[i]&&degree[i]<3 ){
                ans++;
                del[i]=1;
                update=1;
                for (int j=0; j<G[i].size(); j++) {
                    int temp=G[i][j];
                    if(!del[temp]){
                        degree[i]--;
                        degree[temp]--;
                    }
                }
                
            }
            
        }
        if (!update) {
            break;
        }
    }
    if(ans==n){
        cout<<0;
    }
    else{
        ans=-1;
        for (int i=1; i<=n; i++) {
            if (!del[i]) {
                if (ans==-1) {
                    ans=i;
                }
                else{
                    ans=ans xor i;
                }
            }
        }
    }
    cout<<ans;
    return 0;
}