1041 竞赛游戏
来源:互联网 发布:python可以机器人 编辑:程序博客网 时间:2024/04/25 23:47
Description
A和B准备玩一个游戏,游戏是这样的,一开始桌面上面放了n堆石子,每次每个人能从任意一堆里面取走任意颗石子,直到某个人无法取走石子为止,游戏结束,不能再取石子的人就为输!A和B在这个游戏中都表现的足够优秀,且总是由A先开始。
现在给定桌面上石子的初始状态,由你来编写程序确定最终获得胜利的是A还是B。
Input
输入包括多组测试数据,每组测试数据占一行包括n+1个数字,第一个数字为n,如题中所述,接下来n个数字代表每堆石子的个数。每堆的石子数量不会超过10000000,堆数n不会超过20,且必大于1。输入到文件结束。
Output
对于每组测试数据输出一行,如果A能赢输出No,否则输出Yes。Sample Input
2 45 45
3 3 6 9
Sample Output
No
Yes
思路报告
这道题目如果在了解异或运算性质后,就无须多证明了,直接给出结论!将n堆石子的数量做异或运算,若结果为0,则A必败,否则A必胜。因为当结果为0时,A只要取走石子,结果就不可能再是0 了,当B移动时,B可以通过取走适当的石子数,使新的石子数量状态异或结果仍为0,这样一直进行下去,B最终给A的状态就是一个0状态,A输!反之亦然。
answer
#include <stdio.h>
void main()
{
int n;
int NStone,sum;
while(scanf("%d",&n)!=EOF)
{
sum = 0;
for(int i=0;i<n;i++)
{
scanf("%d",&NStone);
sum = sum^NStone;
}
if(sum==0)
printf("No\n");
else
printf("Yes\n");
}
}
- 1041 竞赛游戏
- 【回溯法】游戏竞赛
- 竞赛游戏(博弈论)
- 竞赛游戏 & 亦或应用!!!
- 算法竞赛入门经典P89 卡片游戏
- 信息学奥林匹克竞赛-小鱼的数字游戏
- [wp7游戏]wp7~~竞赛类游戏~~集合贴~~
- 竞赛
- 竞赛
- 算法竞赛入门经典P89 卡片游戏 java版
- 盒子游戏(湖南省第七届大学生计算机程序设计竞赛)
- 盒子游戏(湖南省第七届大学生计算机程序设计竞赛)
- 算法竞赛入门经典 6.1.1 卡片游戏
- 湖南省第七届大学生计算机程序设计竞赛 报数游戏
- 猜数字游戏的提示 算法竞赛入门经典
- 算法竞赛入门经典-前四章-UVa494 - Kindergarten Counting Game-幼儿园数数游戏-难度1
- 2011年湖南省第七届大学生计算机程序设计竞赛,E题,盒子游戏
- 算法竞赛入门经典:第六章 数据结构基础 6.1卡片游戏
- 搞ACM的你伤不起(转)
- 常用命令汇集
- MySQL存储过程详解 mysql 存储过程
- CSDN全国巡讲——广东药学院站
- 求子数组的最大和
- 1041 竞赛游戏
- openpbs环境下GPU版NAMD的作业提交问题
- ibatis 2.3 调用Oracle Function 返回字符串实例
- JavaScript获取和设置CheckBox状态
- CSDN问答频道声望排行榜出炉,4月起上榜有礼
- 百万级SQL优化总结
- 写给新入IT的新人们:多看、多问、多写
- 函数指针的应用(二)
- dos 基本命令