码迷,mamicode.com
首页 > 编程语言 > 详细

HDU1850 Being a Good Boy in Spring Festival(NIM统计)

时间:2016-05-29 12:22:46      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

题意:

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统计)

标签:

原文地址:http://www.cnblogs.com/d-e-v-i-l/p/5539115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!