hdu 1097

看了这篇文章对初入博弈论很有用http://www.wutianqi.com/?p=1081 

#include<iostream>
using namespace std;
int a[50];
int main()
{
 int n,t,i,flag,cnt;
 cin>>t;
 while(t--)
 {
  cin>>n;
  flag=0; cnt=0;
  for(i=0;i<n;i++)
  {
   cin>>a[i];
   flag=flag^a[i];
   if(a[i]>1) cnt++;
  }
  if(flag!=0)
  {
   if(cnt>=1) cout<<"John"<<endl;
   else cout<<"Brother"<<endl;
  }
  else
  {
   if(cnt>=2) cout<<"Brother"<<endl;
   else cout<<"John"<<endl;
  }
 }
 return 0;
}


 

原文地址:https://www.cnblogs.com/forgood/p/2206683.html