题目来源:
http://poj.org/problem?id=1740
分析:
均势为: 偶数堆,且 x,x, y,y,z,z... 即先人无论怎么取,后人跟先人一个走法,那么后人一定取最后一堆。为N势
否则,就是必胜态P。
代码如下:
#include <iostream> #include <algorithm> #include <stdlib.h> #include <stdio.h> #include <stack> #include <string> #include <string.h> #include<cstring> #include <algorithm> #include <stdlib.h> #include <vector> #include <set> #include <math.h> #include <cmath> #include <map> #include <queue> using namespace std ; typedef long long LL ; const double EPS=1e-9; int data[13]; int main(){ int n; while(cin>>n && n){ for(int i=0 ;i <n ;i++){ cin>>data[i]; } sort(data,data+n); int k=0; if(n%2 == 0){ for(int i=0 ; i<n-1 ;i+=2){ if(data[i]==data[i+1]) k++; } } if(n==1){ puts("1"); continue; } if(k == n/2) puts("0"); else puts("1"); } return 0 ; }