简单BashGame博弈 初尝试
来源:互联网 发布:数据加密不属于计算 编辑:程序博客网 时间:2024/05/22 17:18
今天接触了一种最基础的博弈论-BashGame。
假设一个石子堆有n个石子,每次最多只能取m个,zzx和whl两位大神准备进行竞赛,两位大神每一步走的都是最优的。zzx大神先开始,最后把石子取完的人获胜,作为旁观者的你能不能告诉我们,是zzx大神赢了,还是whl大神赢了?
原题:hdoj1846
实现代码:
#include<iostream>#include<cstdio>using namespace std;int main(){ int n,m; int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); if(n%(m+1)==0)printf("second\n"); else printf("first\n"); } return 0;}
这种类型的博弈称作BashGame。
假设刚刚开始n=m+1,那么第二个取的人必胜。那么我们有如下结论:
令
n=(m+1)*r+s
其中(r>1,0<=s<m+1)
。如果s=0的话,先手每次取k个,后手只要取(m+1-k)个即可,后手必赢。如果s!=0的话,先手者第一次取s个,后手第一次取k个,接下来先手只要取(m+1-k)个即可,先手必赢。
0 0
- 简单BashGame博弈 初尝试
- c++简单随机数初尝试
- 简单博弈
- 简单博弈
- 简单博弈
- 简单博弈
- hdu1846-Brave Game(BashGame入门)
- JNI HellWorld 简单尝试
- Hession 简单尝试
- JNI简单尝试
- Retrofit简单尝试
- Sqlite简单尝试
- ueditor简单尝试
- uwp 简单尝试计算器
- python爬虫简单尝试
- 简单的拍卖博弈
- POJ 2484 简单博弈
- cf div_124_a(简单博弈)
- vim编辑器入门教程
- leetcode:Coin Change
- poj1053 模拟
- jQuery的选择器
- 【步兵 c++】 多态&虚函数
- 简单BashGame博弈 初尝试
- Linux每天学习一个命令之type命令
- XMG 事件传递的调用 当事件传递给控件的时候就会调用,去寻找最合适的View,
- Android Studio 基本设置
- 《java入门第一季》之面向对象
- DOM启蒙——第八章
- c++primer第二遍阅读感悟(chap3)
- Windows下使用AcroRd32.exe(Adobe Acrobat Reader)打开PDF文件
- 第N次重学Struts2之路(二)