尼姆博弈(Nimm Game)+反尼姆博弈
来源:互联网 发布:淘宝网有甲睾酮片 编辑:程序博客网 时间:2024/04/30 08:17
尼姆博弈:有任意堆物品,每堆物品的个数是任意的,双方轮流从中取物品,每一次只能从一堆物品中取部分或全部物品,每次最少取一件,取到最后一件物品的人获胜。
结论就是:把每堆物品数全部异或起来,如果得到的值为0,那么后手胜,否则先手胜。
百度详解与证明点击打开链接
#include<cstdio>int main(){ int n,ans,temp; while(scanf("%d",&n)!=EOF) { temp=0;//0和任何数异或都为其本身; for(int i=0;i<n;i++) { scanf("%d",&ans); temp^=ans; } if(temp==0) printf("后手必胜\n"); else printf("先手必胜\n"); } return 0;}
反尼姆博弈结论:n堆物品,全部异或结果为ans,统计富裕堆的个数为c;
先手胜有两种情况:
第一,ans=0且c<2;
第二,ans为真且c为真;
#include<cstdio>int main(){ int t,m,n; scanf("%d",&t); while(t--) { int ans=0,c=0; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&m); if(m>1) c++;//统计富裕堆个数 ans^=m; } if((!ans && c<2) || (ans && c)) printf("先手胜\n"); else printf("后手胜\n"); } return 0;}
1 0
- 尼姆博弈(Nimm Game)+反尼姆博弈
- 尼姆博弈(Nimm Game)
- 尼姆博弈(Nimm's Game)
- 尼姆博弈(Nimm Game)
- 尼姆博弈(Nimm Game)
- hdu1907尼姆博弈Nimm Game
- 尼姆博弈(Nimm's Game)
- 尼姆博弈(Nimm's Game)
- 博弈---尼姆博奕(Nimm Game)(重点)
- Nimm博弈
- HDU-1730-Northcott Game【nimm 博弈】
- hdu-1850(Nimm博弈)
- 博弈:巴什博奕(Bash Game)威佐夫博奕(Wythoff Game)尼姆博奕(Nimm Game)
- nyoj135 取石子(二) Nimm博弈
- nyoj585 取石子(六) Nimm博弈
- Matches Game(尼姆博弈)
- Matches Game(尼姆博弈)
- Matches Game(尼姆博弈)
- (三) SVN Admin安装与基本使用
- Yii2.0 场景的简单使用
- 个人对于OC中delegate、block的简单理解
- linux怎样使用top命令查看系统状态
- jsp 九个内置对象
- 尼姆博弈(Nimm Game)+反尼姆博弈
- vmware中安装Ubuntu16.10server系统以及配置网络
- 大话设计模式-策略模式与简单工厂模式
- CADisplayLink 和 NSTimer 的差异
- MySQL性能分析及explain的使用说明
- 根据Scrollview滑动情况,设置控件透明度
- Repeater, DataList, 和GridView的区别
- WebView加载详情页面时Android4.4.4系统手机下拉时文字出现半屏问题
- 【目标检测】Faster RCNN算法详解