题意:
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;
}