HDU2509 Be the Winner(反NIM)

题意:

N堆苹果,先取完的输。。

思路:

反NIM

先手获胜的条件是所有堆都为1并且异或值为0

或者有的堆大于1并且异或值不为0

/* ***********************************************
Author        :devil
Created Time  :2016/5/30 17:35:45
************************************************ */
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
using namespace std;
int main()
{
    //freopen("in.txt","r",stdin);
    int n,x;
    while(~scanf("%d",&n))
    {
        int f=0,s=0;
        while(n--)
        {
            scanf("%d",&x);
            s^=x;
            if(x>1) f=1;
        }
        if(s&&f||!s&&!f) printf("Yes\n");
        else printf("No\n");
    }
    return 0;
}

 

posted on 2016-05-30 17:36  恶devil魔  阅读(144)  评论(0编辑  收藏  举报

导航