[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 }
View Code

 

posted @ 2019-11-11 11:30  PYWBKTDA  阅读(164)  评论(0编辑  收藏  举报