zoukankan      html  css  js  c++  java
  • NYOJ-取石子(六)

    取石子(六)

    时间限制:1000 ms  |  内存限制:65535 KB

    难度:3

    描述

    最近TopCoder的PIAOYI和HRDV很无聊,于是就想了一个游戏,游戏是这样的:有n堆石子,两个人轮流从其中某一堆中任意取走一定的石子,最后不能取的为输家,注意: 每次只能从一堆取任意个,可以取完这堆,但不能不取。假设PIAOYI先取石子,请你帮他判断他是否能赢(假设他们取的过程中不发生失误,他们足够聪明)。

    输入

    第一行输入n,代表有n组测试数据(n<=10000)
    以下每组测试数据包含两行:第一行:包含一个整数m,代表本组测试数据有m(m<=1000)堆石子;
    :第二行:包含m个整数Ai(Ai<=100),分别代表第i堆石子的数量。

    输出

    若PIAOYI赢输出“PIAOYI”,否则输出“HRDV”注意每组结果占一行。。

    样例输入

    3

    2

    1 1

    3

    3 8 11

    2

    5 10

    样例输出

    HRDV

    HRDV

    PIAOYI

    //Nim游戏,注意用字符串处理数字

    //用字符串来处理数字 在数据很大的时候能省时间
    //sum ^= n%(m+1);
    #include <stdio.h>
    #include <string.h>
    int main()
    {
        int n,m,ans,a[1000]={0},i;
        char ch;
        scanf("%d",&n);
        while(n--)
        {
            scanf("%d",&m);
            memset(a,0,sizeof(a));
            ans = 0;
            getchar();
            for(i=0;i<m;i++)
            {
                while((ch=getchar())>='0' && ch <= '9')
                    a[i] = 10*a[i] + ch - '0';
            }
            for(i=0;i<m;i++)
                ans ^= a[i];
            if(ans) printf("%s
    ","PIAOYI");//puts("PIAOYI");
            else printf("%s
    ","HRDV");//puts("HRDV");
            //printf("%s
    ",ans?"PIAOYI":"HRDV");
        }
        return 0;
    }  
  • 相关阅读:
    解决UITableView中Cell重用机制导致内容出错的方法总结
    Hdu 1052 Tian Ji -- The Horse Racing
    Hdu 1009 FatMouse' Trade
    hdu 2037 今年暑假不AC
    hdu 1559 最大子矩阵
    hdu 1004 Let the Balloon Rise
    Hdu 1214 圆桌会议
    Hdu 1081 To The Max
    Hdu 2845 Beans
    Hdu 2955 Robberies 0/1背包
  • 原文地址:https://www.cnblogs.com/emptyCoder/p/5532171.html
Copyright © 2011-2022 走看看