nyoj 585 取石子(六) 【Nim】

取石子(六)

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描写叙述
近期TopCoderPIAOYIHRDV非常无聊,于是就想了一个游戏,游戏是这种:有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

代码:

 
#include <stdio.h>
 int main(){
 	int t, n, ans, a;
 	scanf("%d", &t);
 	while(t --){
	 	scanf("%d", &n);
	 	ans = 0;
	 	while(n --){
		 	scanf("%d", &a);
		 	ans^=a;
		 }
		 printf("%s
", ans?

"PIAOYI":"HRDV"); } return 0; }




原文地址:https://www.cnblogs.com/liguangsunls/p/7147387.html