zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    BZOJ 2038 小Z的袜子 莫队算法
    POJ 3407 球面距离
    POJ 1375 圆的切线
    BZOJ 1502 月下柠檬树 simpson积分
    UVA 11704
    POJ 1981 定长圆覆盖最多点
    HDU 3982 半平面交+圆和凸多边形面积并
    ZOJ 1104 二分
    使用Singleton来实现Flash和Flex的通信。
    校内API相关
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/5658704.html
Copyright © 2011-2022 走看看