相比数据结构的题。。感觉这种想啊想的题可爱多了~~~代码量还少。。。。


题目链接:

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【博弈】的更多相关文章

  1. POJ 2484 A Funny Game [博弈]

    题意:n枚硬币围成一个圈,每次每个人可以从中取走一枚或者相邻的两枚(如果两枚硬币原本中间隔着一枚硬币,后来被取走,这两枚硬币不算相邻).谁取走最后一枚硬币谁就赢了. 思路:我们可以找找规律. 首先,n ...

  2. poj 2484 A Funny Game(博弈)

    A Funny Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4639   Accepted: 2855 Desc ...

  3. POJ 2484(对称博弈)

    题目链接:http://poj.org/problem?id=2484 这道题目大意是这样的,有n个硬币围成一圈,两个人轮流开始取硬币(假设他们编号从1到n),可以选择取一枚或者取相邻的两枚(相邻是指 ...

  4. POJ 2484 A Funny Game 博弈论 对称博弈

    http://poj.org/problem?id=2484 1和2时Alice必胜,3时Bob必胜,其他情况下Bob只需要在Alice取过之后取一次将剩下的硬币链平均分为两份,然后Alice怎么取B ...

  5. POJ 2484 A Funny Game(智商博弈)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6397   Accepted: 3978 Description Alice ...

  6. POJ Football Game 【NIMK博弈 && Bash 博弈】

    Football Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 451   Accepted: 178 Descr ...

  7. POJ 2484 A Funny Game(神题!)

    一开始看这道博弈题的时候我就用很常规的思路去分析了,首先先手取1或者2个coin后都会使剩下的coin变成线性排列的长条,然后无论双方如何操作都是把该线条分解为若干个子线条而已,即分解为若干个子游戏而 ...

  8. POJ 2484

    A Funny Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3861   Accepted: 2311 Desc ...

  9. [原博客] POJ 2484 A Funny Game

    题目链接题意:有n个硬币排成一圈,两个人轮流操作,每次可以取走一个或者相邻的连个硬币(只算最开始相邻的,取之后才相邻的不算),问先手必胜还是必败. 这个题可以证明若n>=3,则先手必败.对称博弈 ...

随机推荐

  1. python+selenium(python基础)

    1.编辑器的选择 好刀不误砍柴工,那么我们写代码也需要一个利器,虽然python自带有python shell ,但我们在执行代码的时候,需要开很多窗口,最重要的一点是,代码文件的管理很不方便,笔者推 ...

  2. HDU 5416 CRB and Tree (技巧)

    题意:给一棵n个节点的树(无向边),有q个询问,每个询问有一个值s,问有多少点对(u,v)的xor和为s? 注意:(u,v)和(v,u)只算一次.而且u=v也是合法的. 思路:任意点对之间的路径肯定经 ...

  3. powerDesigner 一些设置

    常用设置 table中需要显示的内容 --------------------------------------------------------------------------------- ...

  4. nodejs 安装 淘宝镜像

    临时使用 npm --registry https://registry.npm.taobao.org install express 2.持久使用 npm config set registry h ...

  5. 《3+1团队》【Alpha】Scrum meeting 3

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...

  6. 开源代码生成器,基于mybatis-generator扩展,结合freemarker

    git源码地址:https://github.com/JonSnow592622272/free-generator-code 码云gitee源码地址:https://gitee.com/a59262 ...

  7. Java 垃圾回收机制 (分代垃圾回收ZGC)

    什么是自动垃圾回收? 自动垃圾回收是一种在堆内存中找出哪些对象在被使用,还有哪些对象没被使用,并且将后者删掉的机制.所谓使用中的对象(已引用对象),指的是程序中有指针指向的对象:而未使用中的对象(未引 ...

  8. 使用iframe引入公共模块

    新建一个公共文件head.html <!DOCTYPE html><html lang="en"><head> <meta charset ...

  9. PowerShell(PHPStorm terminal with PowerShell)运行git log中文乱码

    解决方案: 1)以管理员身份运行PowerShell 2)新建一个针对PowerShell的Pofile文件 New-Item -Path $Profile -ItemType file -Force ...

  10. 23. STATISTICS

    23. STATISTICS STATISTICS表提供有关表索引的信息. STATISTICS表有以下列: TABLE_CATALOG:包含索引的表所属的目录的名称.该值始终为def. TABLE_ ...