比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
WWWWWWWWWW |
题目名称 |
Asm.Def的游戏 |
最终得分 |
0 |
用户昵称 |
KZNS |
运行时间 |
0.086 s |
代码语言 |
C++ |
内存使用 |
2.30 MiB |
提交时间 |
2015-10-31 08:58:54 |
显示代码纯文本
// KZ's
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
bool flg[100003]={0};
vector <int> mp[100003];
class pi {
public:
int v,d;
}mpp[100003];
bool cp(pi aa,pi bb) {
return aa.d<bb.d;
}
int main() {
ifstream fin ("asm_game.in");
ofstream fout ("asm_game.out");
int n,m;
fin>>n>>m;
int a,b;
fin>>a>>b;
mp[a].push_back(b);
mp[b].push_back(a);
unsigned int ed=n;
for (int i=1;i<n;i++) {
fin>>a>>b;
mp[a].push_back(b);
mp[b].push_back(a);
ed^=i;
}
for (int i=1;i<=n;i++) {
mpp[i].v=i;
mpp[i].d=mp[i].size();
}
sort(mpp+1,mpp+n+1,cp);
int dlt=0;
bool fff=1;
while (fff)
for (int i=1;i<=n;i++) {
fff=0;
pi &piu=mpp[i];
if (piu.d<0)
continue;
if (piu.d<3) {
flg[piu.v]=true;
piu.d=-1;
dlt++;
ed^=i;
}
else {
if (piu.d-dlt<3) {
for (int j=0;j<piu.d;j++)
if (flg[mp[piu.v][j]]) {
piu.d--;
mp[piu.v][j]=0;
}
if(piu.d<3) {
flg[piu.v]=true;
piu.d=-1;
dlt++;
ed^=i;
}
}
}
}
fout<<ed<<endl;
return 0;
}
// UBWH