题解:注意题目中规定取到最后一粒石子的人算输,所以是Anti-Nim游戏,胜负判断为:
先手必胜:
1.所有堆的石子数都为1且游戏的SG值为0;
2.有些堆的石子数大于1且游戏的SG值不为0。
#include <cstdio>
int main(){
int t,n,s,x,tmp;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(s=tmp=0;n--;)scanf("%d",&x),s^=x,tmp|=(x>1);
puts((s>0)^tmp?"Brother":"John");
}
return 0;
}