HDU 5996 dingyeye loves stone(Nim 变形)

来源:互联网 发布:洛克王国手机辅助软件 编辑:程序博客网 时间:2024/04/29 17:01

对数深度为偶数的节点,不需要考虑,因为这是必败态,留给对手,每次对手动,跟进就可以了。

对于奇数深度的节点是正常比赛的关键,并且这些节点符合Nim博弈。

#include<iostream>using namespace std;const int maxn=1e5+5;int dep[maxn];int main(){    int t;    scanf("%d",&t);    while(t--)    {           int n;        scanf("%d",&n);        int ans=0;        dep[0]=0;        for(int i=1;i<n;i++) {int fa;scanf("%d",&fa);dep[i]=dep[fa]+1;}        for(int i=0;i<n;i++)        {            int x;            scanf("%d",&x);            if(dep[i]&1) ans^=x;        }        if(ans) cout<<"win"<<endl;        else cout<<"lose"<<endl;    }    return 0;}


0 0
原创粉丝点击