(step8.2.2)hdu 2509(Be the Winner——简单博弈)

题目大意:输入一个整数n,表示火柴堆数(原题其实指的是苹果堆数,但是为了尽量与模板保持一致,所以在这里理解为火柴堆数。。。。其实理解为什么都没关系,

重要的是,理解就行。。。。)。在接下来的一行中,有n个数字,表示每个火柴堆的火柴根数。


解题思路:还是去火柴棒的问题

详细的说明请参考上一篇博客


代码如下:

/*
 * 2509_1.cpp
 *
 *  Created on: 2013年9月1日
 *      Author: Administrator
 */

#include <iostream>

using namespace std;


int main(){
	int sum1;
	int sum2;
	int ans;

	int n;
	while(scanf("%d",&n) != EOF){
		sum1 = 0;
		sum2 = 0;
		ans = 0;

		int a[n];
		int i;
		for(i = 0 ; i < n ; ++i){
			scanf("%d",&a[i]);

			if(a[i] >= 2){
				sum1++;
			}else{
				sum2++;
			}

			ans ^= a[i];
		}

		if( (ans != 0 && sum1 != 0) || (ans == 0 && sum1 == 0) ){
			printf("Yes
");
		}else{
			printf("No
");
		}
	}
}



原文地址:https://www.cnblogs.com/james1207/p/3295299.html