题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1846

http://acm.hdu.edu.cn/showproblem.php?pid=2188

http://acm.hdu.edu.cn/showproblem.php?pid=2897

题目描述:巴什博弈,未接触博弈论的同学可能没听说过,但是根据其原理演变的一些小游戏(取石子,数三十)大家应该不陌生,也应该知道其规律。

一、假设两个人从1到30数数字,每次只能数1、2、3。数到三十者为胜。如果让你先数,你会怎样数呢?

如果我们从前往后去想,的确很难想象到怎样解决。但是如果从后往前考虑,不难发现解决的方法。

假设我要数到30,那么当对方 最后一个数字数27,28,29时,我取对应的3,2,1即可。那么也就是我只要数到26即可保证我后续的胜利,在26这个点

即为此次博弈的必胜态。

因此,我们大概可以推出其规律,f(30)的胜败状态, 完全等于f(26),那么f(26)又完全等于f(22)……

想必你已经知道该如何解决这样的问题了吧。

其实这就是博弈论的主要思维,我不一定要搜索到所有状态的最底层,如果其上级能够完全代表当前状态的话,那么就没必要再深入的去计算。

例:1846的代码,2188,2897等与其相同

#include<stdio.h>
int main()
{int c,n,m;scanf("%d",&c);while(c--){scanf("%d%d",&n,&m);if(n%(m+1)==0)printf("second\n");elseprintf("first\n");}
return 0;
}

看起来很简单吧?不过这个思想会运用人工智能、机器学习等很多深入的领域当中。

博弈——巴什博弈(hdu1846,2188,2897)相关推荐

  1. 三种经典博弈(巴什博弈,威佐夫博奕,尼姆博奕)

    前言: 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等 均可.两个人轮流从堆中取物体若干,规定最后取光物体者取胜.这是我国民间 很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的 ...

  2. 博弈-巴什博弈-P/N图

    P:必败点.前一个(Previous player)选手将取胜的位置. N:必胜点.下一个(Next player)选手将取胜的位置. 必败(必胜)点的性质: 1.所有终结点必是必败点(P): 2.从 ...

  3. 浅谈博弈论之巴什博弈

    博弈 博弈这个词看着就高大上,"小友留步,老夫一时兴起可否愿意陪我这老头子对弈一番.""对弈"."博弈"一词用上,是不是瞬间感觉超然物外许多 ...

  4. 【算法与数据结构】—— 博弈论(初级篇之巴什博弈)

    博弈论之巴什博弈 巴什博弈(Bash Game): 有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个(m<n).最后取光者得胜. 分析: 显然,如果n=m+1,那么由于 ...

  5. ferguson博弈_组合博弈游戏

    ² 组合博弈游戏的概念和特点 ² 组合博弈游戏应满足以下性质: ² 1. 有两个游戏者. ² 2. 有一个可能的游戏状态集.这个状态集通常是有限的. ² 3. 游戏规则指定了在任何状态下双方的可能的走 ...

  6. 巴什博弈例题:NYOJ23;HDU:2149,1847,2897,2188

    巴什博弈: 只有一堆n个物品,两个人轮流从这堆物品中取除,每次取的个数为[1,m](至少去一个,最多取m个),最后取完者获胜 特征: 物品只有一堆,简单变形: 要么在范围内不规定个数,要么规定只能取几 ...

  7. hdu 2188巴什博弈

    http://acm.hdu.edu.cn/showproblem.php?pid=2188 分析:巴什博弈. View Code // I'm lanjiangzhou //C #include & ...

  8. 题解报告:hdu 2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴什博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188 Problem Description 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每 ...

  9. HDU 2188 经典巴什博弈

    1.问题模型:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个,最后取光者得胜. 经典巴什博弈,参考到博客别人:点击打开链接 #include<iostream> ...

最新文章

  1. bootstrap table传回的数据后端怎么获取_Flasksqlalchemy让你的数据库和网页执手偕老吧...
  2. 预告:2009年下半年软考试题及答案51CTO将实时发布
  3. 厉害了我的VR!老师们用VR来教历史
  4. 从零开始搭建物联网平台(6):消息的持久化
  5. C标准库assert.h实现
  6. nginx看最大并发量_Nginx高并发配置思路(轻松应对1万并发量)
  7. Visual Studio 2019 + Visual C++——创建Visual C++ Hello World! 程序
  8. ImportError: cannot import name 'six' from 'django.utils'
  9. JS,JQ 格式化小数位数
  10. E: Some index files failed to download. They have been ignored, or old ones used instead.解决方案
  11. arXiv与文献调研神器Connected Papers强强联合
  12. Linux配置防火墙,开启80端口、3306端口
  13. 使用NVIDIA端到端深度学习平台进行缺陷自动检测
  14. Abaqus: 云图设置
  15. 英语单词音节拆分程序
  16. psd导出jpg太大_为什么 Ps 导出的 jpg 图片哪怕质量降到最低还是体积很大?
  17. python 当前日期_python 当前时间获取方法
  18. 怎样让自己的【微信公众号】快速涨粉?
  19. win10开机启动执行bat文件
  20. 这些开源项目,值得收藏深入研究

热门文章

  1. 45 CO配置-控制-利润中心会计-维护控制范围设置
  2. CondenseNet总结
  3. 学习路上遇到的Error2
  4. Harbor的安装部署
  5. linux内核那些事之 VMA Gap
  6. Anaconda下tensorflow虚拟环境的创建以及遇到的问题(Ubuntu)
  7. vant表单组件+iconfont组合使用 - 代码篇
  8. 经历了px、em之后,用 rem 适配屏幕
  9. 三星电视开机显示服务器异常,三星液晶电视常见故障及维修方法
  10. 阿里云asp主机 后台登录一直提示验证码错误_吐槽一下阿里云关于网站备案的问题,真让人恶心生厌!...