• HDU1907 John


    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. 

     

    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 

     

    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
     

    Source

    Southeastern Europe 2007

    依旧是anti-nim

    AC记录喜+1

     1 /*by SilverN*/
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<cstdio>
     6 #include<cmath>
     7 using namespace std;
     8 int n;
     9 int s;
    10 int main(){
    11     int T;    
    12     scanf("%d",&T);
    13     while(T--){
    14         scanf("%d",&n);
    15         bool flag=0;
    16         s=0;
    17         int i,j;
    18         int a;
    19         for(i=1;i<=n;i++){
    20             scanf("%d",&a);
    21             s^=a;
    22             if(a>1)flag=1;
    23         }
    24         if(flag){
    25             if(s==0)printf("Brother
    ");
    26             else printf("John
    ");
    27         }
    28         else
    29             if(n&1)printf("Brother
    ");
    30             else printf("John
    ");
    31 
    32     }
    33     return 0;
    34 }
  • 相关阅读:
    N皇后问题
    iPhone中自绘实现步骤
    ObjectiveC利用协议实现回调函数
    iphone实现双缓冲
    JAVA_内部类
    JAVA_ArrayList
    Ant入门
    JAVA_两种比较器的实现
    JAVA_继承内部类
    JAVA_序列化和反序列化
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/5658704.html
Copyright © 2020-2023  润新知