BZOJ 1022 Anti-SG游戏

来源:互联网 发布:mac arp 嗅探工具dmg 编辑:程序博客网 时间:2024/05/01 12:35

Anti−SG 游戏定义
决策集合为空的操作者胜。
其余规则与SG游戏一致。
  SJ定理
  对于任意一个Anti−SG游戏,如果定义所有子游戏的SG值为0时游戏结束,先手必胜的条件:
游戏的SG值为0且所有子游戏SG值均不超过1。
游戏的SG值不为0且至少一个子游戏SG值超过1。
  这里SG(x)=x

#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<cmath>#include<algorithm>using namespace std;typedef long long LL;int T,n;int a[100];int main(){    scanf("%d",&T);    while(T--){        int ok=0;        scanf("%d",&n);        for(int i=1;i<=n;i++){            scanf("%d",a+i);        }        int ans=0;        for(int i=1;i<=n;i++){            ans^=a[i];        }        if(ans==0){            for(int i=1;i<=n;i++){                if(a[i]!=1){                   ok=1;                }            }        }        else {            ok=1;            for(int i=1;i<=n;i++){                if(a[i]>1){                    ok=0;                }            }        }        if(ok){            puts("Brother");        }        else puts("John");    }    return 0;}
0 0