hdu 1850 Being a Good Boy in Spring Festival(Nimm Game)

题意:Nimm Game

思路:Nimm Game

#include<iostream>
#include<stdio.h>
using namespace std;

int main(){
    int m,a[128],i,sum,ans;
    while(~scanf("%d",&m)&&m){
        sum=0;
        for(i=0;i<m;++i){
            scanf("%d",&a[i]);
            sum^=a[i];
        }
        if(sum){
            ans=0;
            for(i=0;i<m;++i)
                if((sum^a[i])<a[i])++ans;//优先级
            printf("%d\n",ans);
        }
        else printf("0\n");
    }
    return 0;
}

另:HDU 1850 Being a Good Boy in Spring Festival(博弈·Nim游戏)

时间: 2024-10-13 16:19:21

hdu 1850 Being a Good Boy in Spring Festival(Nimm Game)的相关文章

HDU 1850 Being a Good Boy in Spring Festival (Nim博弈)

#include <iostream> #include <algorithm> #define ss(a) scanf("%d",&a) #define ss64(a) scanf("%I64d",&a) using namespace std; int main() { int a[100],i,n,m,sum,cnt,j; while(~ss(n),n) { cnt=0; for (i=0,sum=0;i<n;i+

HDU 1850 Being a Good Boy in Spring Festival (Nim游戏变形)

题意:经典Nim游戏博弈,给你n堆牌,每堆a[i]张,每次能从一堆中取出任一张(不能为0),最后不能取者为输 问先手有几种取法保证他最后能获胜. 思路:让Nim_sum=0(a[1]^a[2]----^a[n]=0)时则输,利用这个定理,对于第i堆a[i],除了第i堆,其它的 Nim_sum=k,如果a[i]>k,则先手从第i堆可以取a[i]-k张牌,让a[i]=k,最后a[i]^k==0. #include<cstdio> #include<stdlib.h> #inclu

题解报告:hdu 1850 Being a Good Boy in Spring Festival(尼姆博弈)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1850 Problem Description 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里尝试做做下面的事情吧陪妈妈逛一次菜场悄悄给爸爸买个小礼物主动地 强烈地 要求洗一次碗某一天早起 给爸妈用心地做回早餐如果愿意 你还可以和爸妈说咱们玩个小游戏吧 ACM课上学的呢-下面是一个二人小游戏:桌子上有M堆扑克牌:每堆牌的数量分别为Ni(i=1-M):两人轮流进行:每走一步可以任意选择一堆并取

hdu 1850 Being a Good Boy in Spring Festival (尼姆博弈)

Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4658    Accepted Submission(s): 2781 Problem Description 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场悄悄给爸爸买

HDU - 1850 - Being a Good Boy in Spring Festival

先上题目: Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4557    Accepted Submission(s): 2713 Problem Description 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场

[Nim博弈]hdu 1850 Being a Good Boy in Spring Festival

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1850 Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4053    Accepted Submission(s): 2394 Problem Description

HDU 1850 Being a Good Boy in Spring Festival(nim博弈)

题目地址:HDU 1850 这个博弈论异或这个地方感觉真绕,仔细想了一下,终于把它给理清楚了.总结一下之前不太理解的: 1:在当前操作中,只要可以达到某个必败态,那这个点一定是必胜态的,因为要想获胜,肯定会选择必败态的操作. 2:只有当所有值的异或值为0的时候,才是必败态,所以说对于N堆的nim游戏来说,第一步的操作对于每一堆来说只能有至多一种可以形成必败态.因为另外(n-1)堆的异或值是唯一的,所以当前堆也是唯一的. 3:对于每一堆来说,只要可以剩下一个数,使得这个数与另外(n-1)堆的异或值

HDU 1850 Being a Good Boy in Spring Festival 博弈

Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7841    Accepted Submission(s): 4811 Problem Description 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场悄悄给爸爸买

HDU 1850 —— Being a Good Boy in Spring Festival

Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场悄悄给爸爸买个小礼物主动地 强烈地 要求洗一次碗某一天早起 给爸妈用心地做回早餐 如果愿意 你还可以和爸妈说咱们玩个小游戏吧