题解:
这题是经典的nim游戏,判断能不能获胜,只要将每一堆的个数xor起来,再判断一下就好了。
#include<cstdio>
#include<string>
using namespace std;
int T,n;
inline int read(){
int x=0; char ch=getchar();
while (ch<'0'||ch>'9') ch=getchar();
while (ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();
return x;
}
int main(){
T=read();
while (T--) {
n=read(); int ans=0,x; bool pd=0;
for (int i=1;i<=n;i++) {
x=read(),ans=ans^x;
if (x!=1) pd=1;
}
if ((ans!=0&&pd==1)||(ans==0&&pd==0)) printf("John\n"); else printf("Brother\n");
}
return 0;
}