POJ 2484 A Funny Game【博弈】
相比数据结构的题。。感觉这种想啊想的题可爱多了~~~代码量还少。。。。
题目链接:
http://poj.org/problem?id=2484
题意:
一圈n个硬币,两人轮流从中取一或两个硬币,(只能取相邻的两枚硬币),取完的获胜,问谁赢?
分析:
这里注意,连续的硬币中取出若干个后,被分割开的就不算连续的硬币了。
首先还是找是否存在对称状态,只要是存在对称状态,后手模仿先手,最后后手必赢。
假设先手第一次拿走了1或者2个硬币,圈被分裂成一条链,后手在链的中间部位拿走1或者2个硬币,将链分为两条对称的子链,这样便出现对称状态了。后手必赢!
但是注意一次是最多可以取2个硬币的,所以在硬币数小于等于2时,先手赢。
代码:
#include<iostream>
using namespace std;
int main (void)
{
int n;
while(cin>>n && n){
if(n <= 2) cout<<"Alice"<<endl;
else cout<<"Bob"<<endl;
}
return 0;
}
这类游戏就是要找对称状态,然后完全模仿对手,最终必赢!
POJ 2484 A Funny Game【博弈】的更多相关文章
- POJ 2484 A Funny Game [博弈]
题意:n枚硬币围成一个圈,每次每个人可以从中取走一枚或者相邻的两枚(如果两枚硬币原本中间隔着一枚硬币,后来被取走,这两枚硬币不算相邻).谁取走最后一枚硬币谁就赢了. 思路:我们可以找找规律. 首先,n ...
- poj 2484 A Funny Game(博弈)
A Funny Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4639 Accepted: 2855 Desc ...
- POJ 2484(对称博弈)
题目链接:http://poj.org/problem?id=2484 这道题目大意是这样的,有n个硬币围成一圈,两个人轮流开始取硬币(假设他们编号从1到n),可以选择取一枚或者取相邻的两枚(相邻是指 ...
- 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(智商博弈)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6397 Accepted: 3978 Description Alice ...
- POJ Football Game 【NIMK博弈 && Bash 博弈】
Football Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 451 Accepted: 178 Descr ...
- POJ 2484 A Funny Game(神题!)
一开始看这道博弈题的时候我就用很常规的思路去分析了,首先先手取1或者2个coin后都会使剩下的coin变成线性排列的长条,然后无论双方如何操作都是把该线条分解为若干个子线条而已,即分解为若干个子游戏而 ...
- POJ 2484
A Funny Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3861 Accepted: 2311 Desc ...
- [原博客] POJ 2484 A Funny Game
题目链接题意:有n个硬币排成一圈,两个人轮流操作,每次可以取走一个或者相邻的连个硬币(只算最开始相邻的,取之后才相邻的不算),问先手必胜还是必败. 这个题可以证明若n>=3,则先手必败.对称博弈 ...
随机推荐
- 版本号比较versioncompare方法,java实现
测试
- 自欺欺人的使用 NSTimer 销毁
自欺欺人的使用 NSTimer 销毁 Demo地址 1.NSTimer是要加到runloop中才会起作用. 常见的创建timer方式 // 第一种方式 @property (nonatomic , s ...
- Two-Phase Commit (2PC)
两阶段提交模式像极了比赛发令:“预备,开始!”
- tcp 三次握手四次挥手
1.三次握手 置位概念:根据TCP的包头字段,存在3个重要的标识ACK.SYN.FIN ACK:表示验证字段 SYN:位数置1,表示建立TCP连接 FIN:位数置1,表示断开TCP连接 三次握手过程说 ...
- Hibernate-01 入门
学习任务 Hibernate开发环境的搭建 使用Hibernate对单表进行增删改操作 使用Hibernate按照数据表主键查询 关于Hibernate 简介 Hibernate的创始人Gavin K ...
- java程序中中文没有乱码,存入数据库后中文乱码问题
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/sys_user?useOldAliasMetadataBe ...
- spring中bean的配置详解--定义parent
在工作中碰到了好多的配置文件,具体来说是spring 中bean配置的parent的配置,搞的我一头雾水,仔细看一下spring中有关bean的配置,剖析一下,具体什么含义! 一.Spring IoC ...
- 无法读取配置节"system.web.extensions",因为它缺少节声明
设置 .Net Framework版本 v2.0.50727 要设置成 v4.0.30319
- INFORMATION_SCHEMA 表
INFORMATION_SCHEMA 表 INFORMATION_SCHEMA 简介 INFORMATION_SCHEMA.CHARACTER_SETS INFORMATION_SCHEMA.COLL ...
- IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!
一. IDM的设置 [01]IDM插件与各大浏览器的集成 默认情况下,在成功安装IDM后,直接点击这里的选项,会弹出[常规设置],一般情况下直接保持默认的配置即可,如果你使用的是比较小众的浏览器,你可 ...