1022 小约翰的游戏
Anti_nim游戏,先手必胜无非2种情况:
1)所有堆的石子个数为1,且sum=0
2)至少有一堆的石子个数大于1,且 sum≠0
Sum为n堆石子个数的异或和
/**************************************************************
Problem: 1022
User: syh0313
Language: C++
Result: Accepted
Time:40 ms
Memory:1288 kb
****************************************************************/
#include <iostream>
#include <cstdio>
#include <cstdlib>
using
namespace
std;
int
T,n,num,x,sum;
bool
f;
int
main()
{
scanf
(
"%d"
,&T);
while
(T--)
{
sum=0; f=0;
scanf
(
"%d"
,&num);
for
(
int
i=1;i<=num;i++)
{
scanf
(
"%d"
,&x);
if
(x>1) f=1;
sum^=x;
}
if
((!f && !sum) || (f && sum!=0))
puts
(
"John"
);
else
puts
(
"Brother"
);
}
return
0;
}