尼姆游戏(吃花生米问题)
2015-11-18 15:36
197 查看
尼姆游戏。有总数为n的石头,每个人可以拿1~3个石头,两个人交替拿,拿到最后一个的人获胜。究竟是先手有利,还是后手有利?
1个石子,先手全部拿走;
2个石子,先手全部拿走;
3个石子,先手全部拿走;
4个石子,后手面对的是先手的第1,2,3情况,后手必胜;
5个石子,先手拿走1个让后手面对第4种情况,后手必败;
6个石子,先手拿走2个让后手面对第4种情况,后手必败;
……
容易看出来,只有当出现了4的倍数,先手无可奈何,其余情况先手都可以获胜。
1个石子,先手全部拿走;
2个石子,先手全部拿走;
3个石子,先手全部拿走;
4个石子,后手面对的是先手的第1,2,3情况,后手必胜;
5个石子,先手拿走1个让后手面对第4种情况,后手必败;
6个石子,先手拿走2个让后手面对第4种情况,后手必败;
……
容易看出来,只有当出现了4的倍数,先手无可奈何,其余情况先手都可以获胜。
class Solution { public: bool canWinNim(int n) { if(n % 4 == 0) return false; else return true; } };
相关文章推荐
- Swift之mark 注释
- JS 报错 “Uncaught SyntaxError: Unexpected token o”
- 系统从很老的V12.4.X升级到V15.0.4中个别报表构建中出现的错误及解决办法
- Android notification的使用
- css之菜单制作
- 【iOS】OC-时间转化的时区问题
- 【iOS】OC-时间转化的时区问题
- CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
- 安装confluence
- OK335xS knob driver hacking
- MySQL存储引擎
- 系统从很老的V12.4.X升级到V15.0.4中个别报表构建中出现的错误及解决办法
- MFC的图片控件的使用(图片适应控件大小并不失真)
- 【小松教你手游开发】【面试必读(编程基础)】 转载一篇优秀的c#泛型理解
- saltstack数据系统之Grains
- opencv for android (环境搭建篇)
- android volley problem
- 改进网站设计的免费jQuery插件Top 7
- Find that single one.(linear runtime complexity0
- jQuery遍历json