博弈模板
2016-07-30 10:02
155 查看
///博弈模板 一)巴什博弈(Bash Game): 问题描述: 只有一堆n个物品,两个人轮流从这 堆物品中取物,规定每次至少取一 个,最多取m个。最后取光者得胜 问题解答: 很容易想到当n%(m+1)<>0时,先取必胜, 第一次先拿走n%(m+1),以后每个回合到 保持两人拿走的物品总和为m+1即可 二)威佐夫博弈(Wythoff Game): 问题描述: 有两堆各若干个物品,两个人轮流从某 一堆或同时从两堆中取同样多的物品, 规定每次至少取一个,多者不限,最 后取光者得胜。 问题解答: 奇异局势:第一个人必输的局 那么任给一个局势(a,b),怎 样判断它是不是奇异局势呢?我 们有如下公式: ak =[k(1+√5)/2], bk= ak + k 。 主要代码: const double p=(1+sqrt(5.0))/2; if (a>b) swap(a,b); int k=b-a; if (a==(int)(p*k)) { printf("2\n"); } else printf("1\n"); 三)Nim游戏 : 问题描述: 有三堆各若干个物品,两个人轮流 从某一堆取任意多的物品,规定每 次至少取一个,多者不限,最后取 光者得胜 问题解答: 奇异局势:a[0]^a[1].....^a[n-1]=0.
相关文章推荐
- android双内存卡情况下,如果获取外置内存卡路径
- JDBC-基础篇
- tomcat内存修改 解决内存溢出异常
- 多平台下Modbus通信协议库的设计(一)
- The NaN values
- Linux下停Tomcat服务器,出现Connection refused错误解决办法
- Python学习基础之一:字符串
- 南阳OJ 451 光棍节的快乐 错排
- Fork/Join由浅入深
- GZIP压缩原理分析(03)——第三章 gzip文件格式详解(三01) 章前语
- GIS基础软件及操作(十二)
- GIS基础软件及操作(十一)
- IOS网络请求的一些需要记录的info设置
- Spring简单配置-基于工厂模式装载bean
- 【FastDev4Android框架开发】AndroidAnnnotations注入框架介绍和Android Studios基本配置(七)
- 【DFS&BFS】HDU1241-Oil Deposits
- GZIP压缩原理分析(02)——第二章 背景简介
- HDU2141 二分查找
- 机器学习之基础知识
- 浏览器中beforeunload的使用