HDU 1850 - Being a Good Boy in Spring Festival

『杭电1850』Being a Good Boy in Spring Festival Problem Description 一年在外 父母时刻牵挂 春节回家 你能做几天好孩子吗 寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场 悄悄给爸爸买个小礼物 主动地 强烈地 要求洗一次碗 某一天早起 给爸妈用心地做回早餐 如果愿意 你还可以和爸妈说 咱们玩个小游戏吧 ACM课上学的呢~ 下面是一个二人小游戏:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。 现在我们不想研究 阅读详情

Being a Good Boy in Spring Festival

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2925    Accepted Submission(s): 1678


Problem Description
一年在外 父母时刻牵挂
春节回家 你能做几天好孩子吗
寒假里尝试做做下面的事情吧

陪妈妈逛一次菜场
悄悄给爸爸买个小礼物
主动地 强烈地 要求洗一次碗
某一天早起 给爸妈用心地做回早餐

如果愿意 你还可以和爸妈说
咱们玩个小游戏吧 ACM课上学的呢~

下面是一个二人小游戏:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。
现在我们不想研究到底先手为胜还是为负,我只想问大家:
——“先手的人如果想赢,第一步有几种选择呢?”
 

Input
输入数据包含多个测试用例,每个测试用例占2行,首先一行包含一个整数M(1<M<=100),表示扑克牌的堆数,紧接着一行包含M个整数Ni(1<=Ni<=1000000,i=1…M),分别表示M堆扑克的数量。M为0则表示输入数据的结束。
 

Output
如果先手的人能赢,请输出他第一步可行的方案数,否则请输出0,每个实例的输出占一行。
 

Sample Input
3 5 7 9 0
 

Sample Output
1
 


===========================


每一堆的数值与ans相异或,所得的结果就是这一堆可以取的数量。 
但是,如要这一堆数量没有这么多,就不可以这么取


#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;

int a[1000005];

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


物联网开发131 - Micropython ESP32 C3连接TB6600驱动42BYGH39步进电机 如何使用合宙ESP32 C3连接TB6600驱动42BYGH39步进电机,实现控制步进电机正反转和旋转指定角度等 阅读详情

相关推荐

西门子CPU与汇川伺服通信与控制

第三方驱动器的配置内容和西门子的配置内容基本一致,基本上会一种即可知道其他品牌的配置默认报文,需要激活硬限位才能收到限位信号默认报文,原点信号不能实时输出到PLC;自定义报文,需要伺服端设置DIN点位。

大小曲奇的博客 1万+

博弈论入门 HDU 1850

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

weixin_30563319的博客 306

DRAM知识整理系列(三):部分时序参数整理

一、tCL-tRCD-tRP-tRAS(第一时序) 内存是根据行和列寻址的,当请求触发后,最初是tRAS(Active to precharge Delay),预充电后,内存才真正开始初始化RAS(Row Address Strobe)。一旦tRAS激活后,RAS开始进行需要数据的寻址。首先是行地址,然后初始化tRCD(RAS to CAS Delay),周期结束,接着通过CAS(Column Address Strobe)访问所需数据的十六进制地址。其中,从CAS开始到CAS结束,就是CAS延迟(即t

不吃鱼的猫的博客 7万+

VJ 博弈论基础练习E 尼姆博弈

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

默的博客 538

求一个点到任意两个点所在直线距离 C#代码公式

求点C(X0,Y0) 到点A(x1,y1)和点B(x2,y2)所在直线的距离 1.已知任意两个点,求这两个点所在直线 已知点A(x1,y1),点B(x2,y2) 设直线上另外任意一个点为(x,y) 那么 (x-x1)/(y-y1) = (x2-x1)/(y2-y1); 整理后得方程: (y2-y1)x + (x1-x2)y + (y1-...

qq_29434987的博客 4492

直击高频编程考点:字符串知识及经典算法题总结

字符串相关基本练习题总结(最长公共子串、最长回文子串、最长无重复字符子串、最小覆盖子串、字符串相乘、中文数字表达转实际数字格式等)

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

HDU 1850 Being a Good Boy in Spring Festival

http://acm.hdu.edu.cn/showproblem.php?pid=1850Problem Description 一年在外 父母时刻牵挂 春节回家 你能做几天好孩子吗 寒假里尝试做做下面的事情吧陪妈妈逛一次菜场 悄悄给爸爸买个小礼物 主动地 强烈地 要求洗一次碗 某一天早起 给爸妈用心地做回早餐如果愿意 你还可以和爸妈说 咱们玩个小游戏吧 ACM课上学的呢~下面是一个

long-long-ago 558

agent-browser 安装笔记(OpenClaw)

【代码】agent-browser 安装笔记(OpenClaw)

tiantiantbtb的博客 1241

博弈问题HDU - 1850(尼姆博弈)

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

weixin_43179892的博客 643

LPDDR5 学习笔记05:WCK操作详解

LPDDR5 SDRAM采用双时钟设计,写时钟(WCK)频率为命令时钟(CK)的2倍或4倍,需要通过WCK2CK同步机制解决时钟域对齐问题。该同步操作由带特殊标志位的CAS命令触发,控制器需提供半频WCK脉冲进行状态校准。同步完成后才能执行读写操作,且支持多存储体组同步和WCK常开模式以优化性能。掉电后必须重新执行同步流程,确保时钟域正确对齐。该机制有效解决了高速内存接口的时序挑战,为LPDDR5性能提升提供关键技术支撑。

一只豌豆象的博客 2005

36、T5L 迪文屏C51开发之绘制动态曲线

T5L 迪文屏C51开发之绘制动态曲线1、介绍2、例程功能简介3、GUI界面设计3、C51程序设计 1、介绍   本文将利用DGUS Tool软件中的【动态曲线控件】来绘制曲线效果,在T5L迪文屏中总共支持8个通道的曲线,而曲线数据是需要缓冲区的,如果 8 通道曲线同时使用,0x1000-0x4FFF 将作为曲线缓冲区地址,此时该部分变量地址不能被其他控键使用,其他控键地址使用范围为0x5000-0xFFFF,当某曲线通道不被使用时,那么其所对应的缓冲区地址可以做其他用途,曲线通道具体的地址分布如下图所示:

嵌入式羊圈 3132

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

题目连接:hdu 1850 Being a Good Boy in Spring Festival 题目大意:略。 解题思路:Nim和判断是否必胜。 /***************** * * sg 为0时,有arr[i] ^ sg == arr[i],所以arr[i] > arr[i] ^ sg; *****************/ #include #include

不慌不忙、不急不躁 826

RH850从0搭建Autosar开发环境系列讲解 - 总目录

Davinci Autosar实战开发从0构建开发能力。OS,COM,DCM,BSWMM,ECUM,VLINK,XCP,MEMMAP等模块配置,带你熟悉运行的autosar代码,包括MICROSAR的启动运行,使用GreenHills生成运行的hex。

weixin_42412049的博客 1万+

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

Being a Good Boy in Spring Festival Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1850 Appoint description:  System Crawler  (2015

Rocky0429 1589

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HDU1850 Being a Good Boy in Spring Festival

1 /* 2 HDU1850 Being a Good Boy in Spring Festival 3 http://acm.hdu.edu.cn/showproblem.php?pid=1850 4 博弈论 尼姆博弈 5 6 7 尼姆博弈:异或和为0则先手必败,否则先手必胜 8 * 9 * 10 */ 11 #include...

dianan9456的博客 115

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

hdu 1850 Being a Good Boy in Spring Festival

Being a Good Boy in Spring Festival Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 1   Accepted Submission(s) : 1 Font: Times New Roman

才子年华 771

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU1850 Being a Good Boy in Spring Festival【Nim博弈】

Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11478 Accepted Submission(s): 7057 Problem Description 一...

海岛Blog 739

Hdu 1850 Being a Good Boy in Spring Festival

Hdu 1850 Being a Good Boy in Spring Festival Problem Description 一年在外 父母时刻牵挂 春节回家 你能做几天好孩子吗 寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场 悄悄给爸爸买个小礼物 主动地 强烈地 要求洗一次碗 某一天早起 给爸妈用心地做回早餐 如果愿意 你还可以和爸妈说 咱们玩个小游戏吧 ACM课上学的呢~ 下面是一个二人小游...

weixin_43823753的博客 235

hdu1850Being a Good Boy in Spring Festival

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1850 题意:中文题。 分析:这题从经典的nim博弈变为了求先手取第一次的方案数,这其实就是考察我们对于nim博弈这个原理的理解,因为我们的异或和xor只有非0的时候才有先手胜的方法,那么我们只要考虑怎么样才能从将异或和变为0,只要简单思考一下我们就能知道只要将xor的最高位二进制减小至剩余的位的数值大

Fsss 572

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 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里尝试做做下面的事情吧陪妈妈逛一次菜场悄悄给爸爸买个小礼物主

AcIsFun的博客 408

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

传送门: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): 3648    Acce

jjaw2013 839

【HDU】1850 Being a Good Boy in Spring Festival

http://acm.hdu.edu.cn/showproblem.php?pid=1850 题意:同nim...顺便求方案数... #include <cstdio> #include <cstring> using namespace std; int a[105]; int main() { int n; while(scanf("%...

107

【hdu 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): 7095 Accepted Submission(s): 4300 Problem Description 一年在外 父母时刻牵挂 春节回家 你能做...

AWCXV 93

ACM-尼姆博弈之Being a Good Boy in Spring Festival——hdu1850

ACM 尼姆博弈 Being a Good Boy in Spring Festival hdu1850

继续激情,继续奋斗。 1867

hdu 1850 Being a Good Boy in Spring Festival

太开心了,这是我第一道自己想出来的利用二进制的做法把博弈做出来的,good!!! 题意:一般的博弈,给你n堆,一次只能取一堆中的任意个,求先手若想获胜有多少可行的第一步 分析:当所有堆的异或值为0的话,则必败,所以现在要做的就是如何让对手面对的局势是异或值为0 转换为2进制,5,7,9只能够变9才能是所有的数的异或为0 5101...

aysd68784的博客 142

hdu 1850 Being a Good Boy in Spring Festival

我们知道在Nim博弈中 如果我们面对的是一个非奇异局势(a,b,c),要如何变为奇异局势呢?假设 a b)=(a(+)a)(+)(b(+)b)=0(+)0=0。要将c 变为a(+)b,只要从 c中减去 c-( a(+)b)即可。   也就是说,其中一个堆C必须大于所有其他所有堆异或的值,由此我们可以进行枚举 即(sum^a[i])#include int main()

lihaogegehuting的专栏 863
上一篇: HDU 1079 - Calendar Game
下一篇: HDU 1525 - Euclid's Game
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值