hdu_1907_尼姆博弈_最后一个取完就输掉

题意:
Sample Input
2
3
3 5 1
1
1
Sample Output
John
Brother

给你 t组案例, 给你n堆 下面n堆每堆有多个a个;

每次取1-a个,最后取完的输掉;

解;
关于尼姆博弈,玄学;
什么时间一定输;
1,奇数个1 ;
2,存在a>1; 面对xor和为0;
xor和为零代表存在有多个相同的偶数a,这样的局势是奇异局势一定输,距离3 3 无论你怎么取都会变为两个数相同,最后 1 1;一定会输

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t,n,i,j;
    while(cin>>t)
    {
        while(t--)
        {
            cin>>n;
            int sum=0,flag=0;
            for(i=0;i<n;i++)
            {
                int a;
                cin>>a;
                sum^=a;
                if(a>1)
                    flag=1;
            }
            if((sum==0&&flag)||(sum&&flag==0))
                puts("Brother");
            else puts("John");
        }
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值