bzoj1022 [SHOI2008]小约翰的游戏John

来源:互联网 发布:python会取代java么 编辑:程序博客网 时间:2024/06/02 15:02

题目

蜜汁反nim游戏。

记个结论:

Anti−SG游戏定义
1.决策集合为空的操作者胜。
2.其余规则与 SG游戏一致。

SJ定理
对于任意一个 Anti−SG游戏,如果定义所有子游戏的 SG值为 0时游戏结束,先手必胜的条件:
1.游戏的SG值为0且所有子游戏SG值均不超过1。
2.游戏的SG值不为0且至少一个子游戏SG值超过1。

然后,就简单了。

#include<bits/stdc++.h>using namespace std;int T,n,x,ans;int main(){    scanf("%d",&T);    while(T--)    {        scanf("%d",&n);        ans=0;        bool flag=true;        for(int i=1;i<=n;i++)        {            scanf("%d",&x),ans=ans^x;            if(x>1)flag=false;        }           if(ans==0&&flag)printf("John\n");            else if(ans!=0&&!flag)printf("John\n");                else printf("Brother\n");    }    return 0;}