POJ 1740

男人八题,但说实话,一开始这个题目叙述是真的没看懂。

思路非常的巧妙,只是在做的时候想不出来,还需要锻炼这种思维吧。博弈论的问题总结思路先找特殊情况,这道题特殊情况不太好想(看了题解才明白),两两配对相等,讨论是否是一方必胜情况,在转而讨论其他情况是否可以转为这种情况。

#include <iostream>
#include <algorithm>
#include <queue>
#include <string>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <cmath>
#include <string>
#include <stack>
#include <map>
#include <set>
#include <deque>
using namespace std;

const int maxn= 15;

int a[maxn];

int main(int argc, char const *argv[])
{
	int n;
	while (1== scanf("%d", &n) && n){
		for (int i= 0; i< n; ++i){
			scanf("%d", a+i);
		}
		if (n&1){
			puts("1");
		}
		else{
			int flag= 0;
			sort(a, a+n);
			for (int i= 0; i< n; i+= 2){
				if (a[i]!= a[i+1]){
					flag= 1;
					break;
				}
			}
			if (flag){
				puts("1");
			}
			else{
				puts("0");
			}
		}
	}
	return 0;
}
原文地址:https://www.cnblogs.com/Idi0t-N3/p/14976602.html