hdu 1850 Being a Good Boy in Spring Festival(组合游戏)

来源:互联网 发布:性知识软件哪些好 编辑:程序博客网 时间:2024/06/02 01:19

题目连接:hdu 1850 Being a Good Boy in Spring Festival

题目大意:略。

解题思路:Nim和判断是否必胜。

/***************** * * sg 为0时,有arr[i] ^ sg == arr[i],所以arr[i] > arr[i] ^ sg;*****************/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 105;int n, sg, c, arr[maxn];int main () {    while (scanf("%d", &n) == 1 && n) {        sg = c = 0;        for (int i = 0; i < n; i++) {            scanf("%d", &arr[i]);            sg ^= arr[i];        }        for (int i = 0; i < n; i++) {            int tmp = sg ^ arr[i];            if (arr[i] > tmp)                c++;        }        printf("%d\n", c);    }    return 0;}
0 0