[SHOI2008]小约翰的游戏John

链接:戳我

反Nim游戏模板题,不会Nim的可以去网上看看,或者看看蒟蒻的这篇OI数学 简单学习笔记,在下面博弈论部分有介绍与证明。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 100010
using namespace std;
int t,n;
int a[MAXN];
int main()
{
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        int ans=0;
        bool flag=true;
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]),ans^=a[i];
            if(a[i]!=1) flag=false;
        }
        if(flag==true)
        {
            if(ans==0) printf("John\n");
            else printf("Brother\n");
        }
        else 
        {
            if(ans!=0) printf("John\n");
            else printf("Brother\n");
        }
    }
    
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/fengxunling/p/10260534.html