很简单的博弈论问题!!(注意全是1时是特殊情况)
代码如下:
1 #include<stdio.h> 2 #include<iostream> 3 using namespace std; 4 int main(){ 5 int i,t,n,k,m; 6 bool flag; 7 scanf("%d",&t); 8 while(t--){ 9 scanf("%d",&n); 10 flag=0;m=0; 11 for(i=0;i<n;i++){ 12 cin>>k; 13 m^=k; 14 if(k>1) flag=1; 15 } 16 if((m&&flag)||(!m&&!flag)) cout<<"John"<<endl; 17 else cout<<"Brother"<<endl; 18 } 19 return 0; 20 }