取(m堆)石子游戏

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1263    Accepted Submission(s): 754

Problem Description
m 堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆 5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个,也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的 中那一堆取走7个剩下3个.
Input
输入有多组.每组第1行是m,m<=200000. 后面m个非零正整数.m=0退出.
Output
先取者负输出No.先取者胜输出Yes,然后输出先取者第1次取子的所有方法.如果从有a个石子的堆中取若干个后剩下b个后会胜就输出a b.参看Sample Output.
Sample Input
2
45 45
3
3 6 9
5
5 7 8 9 10 0

Sample Output
No
Yes
9 5
Yes
8 1
9 0
10 3

Author
Zhousc
Source
代码:

 1 /*@coder龚细军*/
 2 #include<stdio.h>
 3 #include<string.h>
 4 int ss[200002];
 5 int main()
 6 {
 7     int m,t,i,x;
 8     while(scanf("%d",&m),m)
 9     {
10         x=0;
11         for(i=0;i<m;i++)
12         {
13         scanf("%d",&ss[i]);
14         x^=ss[i];
15         }
16         if(!x)    printf("No\n");
17         else
18         {
19             printf("Yes\n");
20             for(i=0 ; i<m ; i++)
21             {
22                 t=x^ss[i];
23                 if(t<=ss[i]) printf("%d %d\n",ss[i],t);
24             }
25         }
26     }
27     return 0;
28 }

转载于:https://www.cnblogs.com/gongxijun/p/3485262.html

HDUOJ-----2175取(m堆)石子游戏相关推荐

  1. ACM-尼姆博弈之取(m堆)石子游戏——hdu2176

    取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 杭电 2176 取(m堆)石子游戏(博弈)

    取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. HDU2176 取(m堆)石子游戏【Nim博弈】

    取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  4. HDU - 2176 取(m堆)石子游戏(尼姆博奕)

    题目链接:点击查看 题目大意:给出m堆石子,规则是尼姆博弈的规则,问先手必胜还是必败,若能必胜则第一次有多少种方式取石子 题目分析:这个题目是因为一开始知道尼姆博弈的结论,需要异或所有石子来判断的,然 ...

  5. 取两堆石子(威佐夫博弈)

    有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法, 一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后把石子全部取完者为胜者 ...

  6. 杭电acm 2177 取(2堆)石子游戏(威佐夫博弈)

    取(2堆)石子游戏                       Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  7. 洛谷P2252 取石子游戏(威佐夫博弈)

    题目背景 无 题目描述 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...

  8. BZOJ 1874: [BeiJing2009 WinterCamp]取石子游戏(SG函数)

    Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 871  Solved: 365 [Submit][Status][Discuss] Descripti ...

  9. bzoj1874: [BeiJing2009 WinterCamp]取石子游戏

    1874: [BeiJing2009 WinterCamp]取石子游戏 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 834  Solved: 350 ...

最新文章

  1. MySQL—02—MySQL的操作
  2. 按键精灵_按键精灵——办公常用脚本集锦
  3. hutool 读取扩展名文件_用卓语言实现中文编程显示隐藏文件扩展名
  4. MyEclipse 2014中 Window--customize perspective 功能 打不开的解决办法
  5. 在.net中读写config文件的各种方法(转载)
  6. 基于梅尔频谱的音频信号分类识别(Pytorch)
  7. grep v grep_使用grep4j轻松测试分布式组件上的SLA
  8. 关于JWT你要知道的都在这里
  9. JAVA中String与StringBuffer 、StringBuilder的区别
  10. 快速排序---计数排序
  11. 《redis设计与实现:第一部分》
  12. 读书笔记:《Being Mortal》
  13. c语言程序设混分,若要补位上单怎么选?混分选白起,求稳选吕布,想C位直接选他!...
  14. 托业单词表part1
  15. 打造一张万能Windows安装盘(转)
  16. java 课设 商品库存管理系统
  17. 李晋的YIM每日签名
  18. Spring Security Oauth2:授权模式、简单模式 、密码模式 和 客户端模式
  19. 使用120台相机进行3D拍照建模
  20. MySQL中计算两个年份的相差

热门文章

  1. delphi webbrowser 对象不支持_【Python 秘籍】排序不支持原生比较的对象
  2. java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式
  3. 计算机专业活动简报,计算机系辩论赛活动简报
  4. 观念什么意思_俗语“女怕午时生,男怕子夜临”是啥意思?古人的忌讳有道理吗?...
  5. html src加载外部静态资源,前端性能优化2:静态资源加载与优化
  6. python 车牌识别简单_ZKTeco 智能车牌识别 停车如此简单
  7. C++编程进阶8(最好不要实现类型转换运算符、单形参的构造函数与类型转换、临时对象与RVO)
  8. C++知识点60——非类型模板参数
  9. C++知识点30——使用C++标准库(关联容器map及其初始化,赋值,查找,添加,删除与迭代器失效)
  10. HALCON窗口出界解决方法