http://acm.hdu.edu.cn/showproblem.php?pid=1907
John
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2385 Accepted Submission(s): 1289
Problem Description
Little John is playing very funny game with his
younger brother. There is one big box filled with M&Ms of different colors.
At first John has to eat several M&Ms of the same color. Then his opponent
has to make a turn. And so on. Please note that each player has to eat at least
one M&M during his turn. If John (or his brother) will eat the last M&M
from the box he will be considered as a looser and he will have to buy a new
candy box.
Both of players are using optimal game strategy. John starts first always. You will be given information about M&Ms and your task is to determine a winner of such a beautiful game.
Both of players are using optimal game strategy. John starts first always. You will be given information about M&Ms and your task is to determine a winner of such a beautiful game.
Input
The first line of input will contain a single integer
T – the number of test cases. Next T pairs of lines will describe tests in a
following format. The first line of each test will contain an integer N – the
amount of different M&M colors in a box. Next line will contain N integers
Ai, separated by spaces – amount of M&Ms of i-th color.
Constraints: 1 <= T <= 474, 1 <= N <= 47, 1 <= Ai <= 4747
Constraints: 1 <= T <= 474, 1 <= N <= 47, 1 <= Ai <= 4747
Output
Output T lines each of them containing information
about game winner. Print “John” if John will win the game or “Brother” in other
case.
Sample Input
2
3 3 5
1
1 1
Sample Output
John
Brother
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int main() 5 { 6 int t,n,i,a[50]; 7 int temp,ans; 8 scanf("%d",&t); 9 while(t--) 10 { 11 temp=0; 12 ans=-1; 13 scanf("%d",&n); 14 for(i=0;i<n;i++) 15 { 16 scanf("%d",&a[i]); 17 if(i==0) 18 ans=a[i]; 19 else 20 ans=ans^a[i]; 21 if(a[i]>1) 22 temp=1; 23 } 24 if(temp==0) 25 { 26 if(n%2==1) 27 printf("Brother\n"); 28 else 29 printf("John\n"); 30 } 31 else 32 { 33 if(ans==0) 34 printf("Brother\n"); 35 else 36 printf("John\n"); 37 38 } 39 } 40 return 0; 41 }