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;
    }  
  • 相关阅读:
    172. Factorial Trailing Zeroes
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    91. Decode Ways
    LeetCode 328 奇偶链表
    LeetCode 72 编辑距离
    LeetCode 226 翻转二叉树
    LeetCode 79单词搜索
    LeetCode 198 打家劫舍
    LeetCode 504 七进制数
  • 原文地址:https://www.cnblogs.com/emptyCoder/p/5532171.html
Copyright © 2011-2022 走看看