POJ 2484 A Funny Game【博弈】
2024-08-24 02:04:12
相比数据结构的题。。感觉这种想啊想的题可爱多了~~~代码量还少。。。。
题目链接:
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;
}
这类游戏就是要找对称状态,然后完全模仿对手,最终必赢!
最新文章
- SqlService过期的解决方案
- linux 学习 设置固定网Ip
- BCB6 重装后的项目编译莫名问题
- hdu 5626 Clarke and points 数学推理
- Ibatis中sqlmap参数map中还需要套list的情况如何写?
- 利用zabbix api添加、删除、禁用主机
- 软件开发者路线图梗概&;书摘chapter5
- 变量新声明之let、const
- jenkins中布置python测试
- [WC2010]重建计划(分数规划+点分治+单调队列)
- 洛谷P1494 【[国家集训队]小Z的袜子】
- python之gunicorn的配置
- ActionBar 笔记
- Vue 动态图片加载路径问题和解决方法
- Java面试题全集(上)
- WebMagic简介和使用
- Hbase配置指南
- mysql ERROR 1045 (28000): Access denied for user &#39;ODBC&#39;@&#39;localhost&#39; (using password: NO)错误解决办法
- ItemsControl控件-----常用的
- sysbench 1.0.9 mysql 压测工具安装使用