HDU1850 Being a Good Boy in Spring Festival(NIM统计)
Posted 恶devil魔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU1850 Being a Good Boy in Spring Festival(NIM统计)相关的知识,希望对你有一定的参考价值。
题意:
NIM题,问你第一个人有多少种取的方案
思路:
全部异或完后,然后让这个值分别异或每一个数
如果结果小于当前数,就说明可以从该堆中取走异或这个数这么多石子
ans就++
/* *********************************************** Author :devil Created Time :2016/5/29 11:31:46 ************************************************ */ #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <assert.h> #include <map> #include <string> #include <cmath> #include <stdlib.h> using namespace std; const int N=1e6+7; int a[N]; int main() { //freopen("in.txt","r",stdin); int n; while(~scanf("%d",&n)&&n) { int p=0,ans=0; for(int i=0;i<n;i++) { scanf("%d",&a[i]); p^=a[i]; } for(int i=0;i<n;i++) if((p^a[i])<a[i]) ans++; printf("%d\n",ans); } return 0; }
以上是关于HDU1850 Being a Good Boy in Spring Festival(NIM统计)的主要内容,如果未能解决你的问题,请参考以下文章
HDU1850 Being a Good Boy in Spring Festival(NIM统计)
HDU1850 Being a Good Boy in Spring Festival(NIM)
题解报告:hdu 1850 Being a Good Boy in Spring Festival(尼姆博弈)
HDU 2176 取(m堆)石子游戏 && HDU1850 Being a Good Boy in Spring Festivaly