初级Nim游戏
给定n堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。

问如果两人都采用最优策略,先手是否必胜。

输入格式
第一行包含整数n。

第二行包含n个数字,其中第 i 个数字表示第 i 堆石子的数量。

输出格式
如果先手方必胜,则输出“Yes”。

否则,输出“No”。

数据范围
1≤n≤10^5,
1≤每堆石子数≤10^9
输入样例:
2
2 3
输出样例:
Yes

辅助:博弈论入门

异或符号是⊕.
1⊕1=0
0⊕0=0
1⊕0=1

先手必胜和先手必败
以取石子游戏为例,如果一个玩家面对的是没有石子的状态,那么他就失败了,也就是说「没有石子」是先手必败的状态。
如果一个状态能转移到一个先手必败的状态,那么当前的先手一定会转移到先手必败的状态,让对方(也就是下一步的先手)面对这个必败的状态。因此,如果一个状态能转移到至少一个先手必败的状态,那么这个状态就是先手必胜的。否则,转移到的所有状态都是先手必胜,那么这个状态就是先手必败的。

根据结论,关键就是求异或之后的结果res是0还是1

#include<iostream>
using namespace std;
int main()
{int n;cin>>n;int res=0;//记录异或之后的结果for(int i=0;i<n;i++){int x;scanf("%d",&x);res^=x;}if(res==0)printf("No");else printf("Yes");return 0;
}

算法 博弈论( 初级Nim游戏)相关推荐

  1. 【博弈论】Nim游戏

    [博弈论]Nim游戏 提到博弈论,比较经典的就是Nim游戏. Nim游戏的大致内容就是:给了好几堆石子,两个人,每个人轮流从某一堆中拿取任意数量的石子,最先取完石子的那一方即可获胜,注意:两个人都用的 ...

  2. 博弈论——关于Nim游戏和SG函数的几个链接

    今天做了一道博弈论的题目,正好去找找相关资料再复习一下. 网上能找到的都是同样的文章,不过我觉得足够了,Nim游戏百度百科里说的很详细,包括公式.证明之类的 http://baike.baidu.co ...

  3. 博弈论(Nim游戏、有向图游戏之SG函数)

    这里写目录标题 经典NIM游戏 Nim游戏属于公平组合游戏ICG 有向图游戏(SG函数) Mex运算 SG函数 单个有向图(一堆石子) 求SG值(记忆化递归) 有向图游戏的和 ,(多个有向图(多堆石子 ...

  4. 博弈论(一):Nim游戏

    从今天开始,我将会用一系列文章介绍博弈论(Game Theory)的基本知识,以OI中可能用得着的为主.当然,我对博弈论的理解还很肤浅,而且我写东西的风格向来都是"个人心得"而非& ...

  5. [博弈论] Nim游戏及SG函数(经典+台阶+集合+拆分)

    文章目录 0. 前言 1. Nim 游戏+模板题 2. 台阶 - Nim 游戏+变种题 3. Mex运算与SG函数 4. 集合 - Nim 游戏+变种题 5. 拆分 - Nim 游戏+变种题 0. 前 ...

  6. 基础博弈论(NIm,威佐夫,巴什游戏)

    最近刚刚接触了基础博弈论 一开始感觉是一个非常难以理解的专题 看了几天别人的题解 写了几道题感觉稍微有了一点点的感觉 下面来总结一下几个常见的基础博弈 1.巴什游戏 最简单的那当然就是巴什游戏了题目是 ...

  7. 【小组专题二:博弈论入门综述(1)】NP状态 | SG函数 | 巴什博奕、威佐夫博弈、斐波那契博弈、Nim游戏、SJ定理

    博弈论综述[1] 前言 博弈与博弈论 博弈树 NP状态 SG函数(Sprague-Grundy) Sprague-Grundy Theorem 巴什博奕 Bash Game 威佐夫博弈 扩展威佐夫博弈 ...

  8. 【acm 博弈论 】 之 Nim游戏与sg函数

    文章目录 前言 巴什博弈 威佐夫博弈 Nim游戏 Nim游戏与sg函数 题目 题意 样例 思路 代码 前言 从今天开始复习和整理下acm的部分模块,从博弈论开始. 著名的"取石子" ...

  9. 博弈论与SG函数(Nim游戏)

    博弈论与SG函数(Nim游戏) 目录 博弈论与SG函数(Nim游戏) 游戏状态 状态图(SG图) Nim 游戏 Nim 和 SG函数 Grundy数字 组合博弈游戏 Grundy 游戏 例题 在本篇, ...

最新文章

  1. springMVC注解中@RequestMapping中常用参数value params 以及@RequestParam 详解
  2. oracle 10g 还原表格,oracle 10g 闪回表恢复
  3. 顶配12599元!三星Galaxy S22国行价格来了...
  4. Linux工作笔记026---Centos7.3 yum提示Another app is currently holding the yum lock; waiting for it to exit.
  5. ImageX instead of Ghost
  6. wpf之auto与*的区别
  7. 【图文详解】用Eclipse创建Maven Web项目
  8. java打印pdf文件乱码_java – 从PDF复制粘贴在原始文件上是乱码,但在使用CutePDF打印pdf时已修复...
  9. Eclipse SVN断开连接后 怎么重新连接
  10. 计算机键盘练习,电脑键盘指法练习经验分享
  11. 第6集丨Persistent Objects 和 Caché SQL
  12. coredns异常问题
  13. 格灵深瞳将登陆科创板募资18亿,AI天才未来能否走出巨亏困局?
  14. 人工智能如何改变了我们的日常生活?
  15. 【C语言】定义一个函数,求长方体的体积
  16. 北航c语言程序设计大一期末题库,北航2016C语言|程序设计题七
  17. solr常见问题整理
  18. Bootstrap系列之巨幕(Jumbotron)
  19. InGaAs APD阵列的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. css filter blur 白边,如何解决CSS3毛玻璃效果blur有白边的问题

热门文章

  1. ThinkPHP5多语言切换项目实战
  2. 指定TabLayout的指示器宽度
  3. 鸿蒙系统为什么能用太极框架,玩机福音:华为 EMUI 升级鸿蒙之后依然可使用太极运行 Xposed...
  4. 论文阅读笔记《Self-Supervised Hypergraph Convolutional Networks for Session-based Recommendation》
  5. 创蓝闪验一键登录(Java实现)
  6. 网站域名到底加不加 WWW
  7. Java多线程--并发中集合的使用PriorityBlockingQueue
  8. 何谓三十而立 四十不惑 五十知天命 六十知耳顺?
  9. Yolov5环境配置 配不好来打我
  10. Realsense D435i Yolov5目标检测实时获得目标三维位置信息