zoukankan      html  css  js  c++  java
  • ACM HDU 1907 John(博弈)

    John

    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
    Total Submission(s): 831    Accepted Submission(s): 437


    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
     

    Source
     

    Recommend
    lcy
     
     
     
    代码:
    #include<stdio.h>
    int a[50];
    int main()
    {
    int i,ans,T,n,temp;
    scanf(
    "%d",&T);
    while(T--)
    {
    scanf(
    "%d",&n);
    temp
    =0;//孤单堆
    for(i=0;i<n;i++)
    {
    scanf(
    "%d",&a[i]);
    if(i==0)
    ans
    =a[i];
    else
    ans
    =ans^a[i];
    if(a[i]>1) temp=1;
    }
    if(temp==0)
    {
    if(n%2==1)
    printf(
    "Brother\n");
    else
    printf(
    "John\n");
    continue;
    }
    if(ans==0)
    printf(
    "Brother\n");
    else
    printf(
    "John\n");
    }
    return 0;
    }
  • 相关阅读:
    CoreData学习-最好的一片文章
    Xcode4.6下添加百度地图ios版(BMapKit)详细教程(_BMKMapManager错误解决)
    NSSearchPathForDirectoriesInDomains用法
    编绎显示Unknown type name “CGFloat” 错误解决方法
    自动调整cell的高度
    sqlMapConfig约束
    PotPlayer左上角信息关闭
    松懈
    sql查询练习
    idea内容补充
  • 原文地址:https://www.cnblogs.com/kuangbin/p/2158308.html
Copyright © 2011-2022 走看看