• HDU-1907 John


    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.
     
    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
     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
    ");
    28             else
    29               printf("John
    ");
    30         }
    31         else
    32         {
    33             if(ans==0)
    34               printf("Brother
    ");
    35             else
    36               printf("John
    ");
    37             
    38         }
    39     }
    40     return 0;
    41 }
     
  • 相关阅读:
    代码中回调的用法
    关于导入外部样式表的目录问题
    js操作元素样式
    JavaSE学习总结第10天_面向对象5
    JavaSE学习总结第09天_面向对象4
    JavaSE学习总结第08天_面向对象3
    JavaSE学习总结第07天_面向对象2
    JavaSE学习总结第06天_Java语言基础2 & 面向对象1
    JavaSE学习总结第05天_Java语言基础1
    JavaSE学习总结第03天_Java基础语法2
  • 原文地址:https://www.cnblogs.com/cancangood/p/3512783.html
Copyright © 2020-2023  润新知