[bzoj1982]Moving Pebbles
首先发现当n堆石子可以两两配对时,后手必胜,因为后手可以模仿先手
那么当n堆石子不能两两配对时,先手必胜,因为先手可以做到让其两两配对,然后即先手必胜
这个东西用map维护即可
1 #include<bits/stdc++.h> 2 using namespace std; 3 map<int,int>mat; 4 int n,x,ans; 5 int main(){ 6 scanf("%d",&n); 7 for(int i=1;i<=n;i++){ 8 scanf("%d",&x); 9 ans+=(mat[x]^=1)*2-1; 10 } 11 if (ans)printf("first player"); 12 else printf("second player"); 13 }