POJ 2484(对称博弈)
题目链接:http://poj.org/problem?id=2484
这道题目大意是这样的,有n个硬币围成一圈,两个人轮流开始取硬币(假设他们编号从1到n),可以选择取一枚或者取相邻的两枚(相邻是指他们的编号相邻)。在双方都采取最优策略取硬币的情况下,问谁最后会赢。
这道题目我一开始没有什么好的办法,n从1试到7,大致能发现n>=3的时候是Bob赢,否则是Alice赢。
可是为什么这样写正确呢?有没有严格一些的证明呢?
我查阅了许多资料,有了下边的理解,可能不是很准确,望纠正。
n<=3的时候显然易得。
当n>3时,我们分成两种情况讨论。
当n为偶数。我们可以把硬币环断开平均分成两列。
先手先取,先手无论取一个还是两个硬币(此时无所谓最优了,或者说都是最优),对方的最优策略总是跟着先手去相同数量的硬币,这样保证最后一个硬币是被后手拿掉。后手赢。
当n为奇数,如果先手取一个硬币,那么后手为了赢,他必须要想办法转化成n为偶数的情况,所以他取两个硬币;
如果先手取两个硬币,那么后手为了赢,他必须要想办法转化成n为偶数的情况,所以他取一个硬币;
往后的过程就与上边分析的偶数情况一致了。
综上分析,得到我们的正确答案;
 if(n>=) printf("Bob");
2 else printf("Alice");
POJ 2484(对称博弈)的更多相关文章
- [poj2484]A Funny Game(对称博弈)
		题目:http://poj.org/problem?id=2484 题意:n个石子围成一个圈,两个人轮流取,每次可以取一个石子或者相邻的两个石子,问先手胜还是后手胜 分析: 典型的对称博弈 如果n&g ... 
- [原博客] POJ 2484 A Funny Game
		题目链接题意:有n个硬币排成一圈,两个人轮流操作,每次可以取走一个或者相邻的连个硬币(只算最开始相邻的,取之后才相邻的不算),问先手必胜还是必败. 这个题可以证明若n>=3,则先手必败.对称博弈 ... 
- hrbustoj 2033 A Funny Game(对称博弈)
		对称博弈,注释在代码里 #include<iostream> #include<cstdio> using namespace std; ///这个地方其实是博弈原理里面的对称 ... 
- poj 2425 AChessGame(博弈)
		A Chess Game Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 3791 Accepted: 1549 Desc ... 
- D. Circle Game 题解(对称博弈)
		题目链接 题目大意 t组数据(t<=100) 给你一个半径d和步数k,你最开始在原点(0,0)每次可以让x坐标增加k,或者y坐标增加k 两人轮流走,求谁最后不能走了,谁就输了,都是最优博弈 输的 ... 
- POJ 2484 A Funny Game 博弈论  对称博弈
		http://poj.org/problem?id=2484 1和2时Alice必胜,3时Bob必胜,其他情况下Bob只需要在Alice取过之后取一次将剩下的硬币链平均分为两份,然后Alice怎么取B ... 
- poj 2484 A Funny Game(博弈)
		A Funny Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4639 Accepted: 2855 Desc ... 
- POJ 2484 A Funny Game【博弈】
		相比数据结构的题..感觉这种想啊想的题可爱多了~~~代码量还少.... 题目链接: http://poj.org/problem?id=2484 题意: 一圈n个硬币,两人轮流从中取一或两个硬币,(只 ... 
- POJ 2484 A Funny Game(智商博弈)
		Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6397 Accepted: 3978 Description Alice ... 
随机推荐
- Linux用户和权限管理
			用户:资源获取标识符,资源分配,安全权限模型的核心要素之一 密码:来实现用户认证 创建用户:useradd Username 生成的属性信息 /etc/passwd 用户名:密码:占位符:UID:GU ... 
- Redis(四):解析配置文件redis.conf
			解析配置文件redis.conf目录导航: 它在哪 Units单位 INCLUDES包含 GENERAL通用 SNAPSHOTTING快照 REPLICATION复制 SECURITY安全 LIMIT ... 
- python3网络爬虫系统学习:第一讲  基本库urllib
			在python3中爬虫常用基本库为urllib以及requests 本文主要描述urllib的相关内容 urllib包含四个模块:requests——模拟发送请求 error——异常处理模块 pars ... 
- Rails中生成并在ActionMailer附件中发送csv、excel、pdf、zip文件
			1.修改Gemfile # PDF generator gem 'prawn' gem 'prawn-table' # Excel generator gem 'rubyXL' #Zip genera ... 
- 用k8s构建生产环境下应用服务
			1.生成镜像 见https://www.cnblogs.com/mushou/p/9713741.html,把测试成熟的应用添加到tomcat镜像生成新的镜像,用ansible部署到集群的几点服务器中 ... 
- ACM1019:Least Common Multiple
			Problem Description The least common multiple (LCM) of a set of positive integers is the smallest po ... 
- switchsharp
			https://www.switchysharp.com/file/switchysharp-v1.10.4.zip 
- 【搜索好题】bzoj1501 [NOI2005]智慧珠游戏
			bzoj1501 [NOI2005]智慧珠游戏 搜索苟逼题系列. 暴力枚举每一种情况(包括旋转翻转全都考虑在内)然后码出代码. (正解似乎不是这样子的) 那年好像还有平衡树苟逼题维护数列233333心 ... 
- Angular开发者手册重点翻译之指令(一)
			创建自定义的指令 这个文章将解释什么需要在自己的angularjs应用中创建自己的指令,以及如何实现它. 什么是指令 在高的层面上讲,指令是DOM元素中的标记(例如一个属性,一个节点名,注释或者CSS ... 
- 【linux报错】-bash: xhost: command not found
			参考自:http://blog.csdn.net/csdnones/article/details/51513163,感谢原作者解决了我的问题. 执行xhost +,报以下错误,原因是因未没有安装相关 ... 
