HDU 4387 Stone Game (博弈)
题目:传送门。
题意:长度为N的格子,Alice和Bob各占了最左边以及最右边K个格子,每回合每人可以选择一个棋子往对面最近的一个空格移动。最先不能移动的人获得胜利。
题解:
k=1时
很容易看出,n为奇数则后手获胜,n为偶数则先手获胜
k>1时
如果n=2*k+1,则棋 盘中只有一个空白的格子,每次移动必须移动到当前的空白格子上。先手方可以先随意选择一颗棋子占据中间的位置,然后双方互有移动,移动过程中双方肯定都会 选择一颗在己方半场的棋子移动到对方半场里。直到后手方还剩下一颗己方半场的棋子时,先手方把占据中间的棋子移动到对方半场,此时后手方必须移动剩下的这 颗棋子到空出的中间的格子里,先手方再把最后一颗棋子移动到新空出的位置即可获胜。
如果n>2*k+1,那么棋盘中就有了多余一个的 空白格子。如果n为奇数,先手方只要每次移动己方最靠后的一颗棋子即可获胜。并且第一次移动必须选择1号棋子,否则会让自己的棋子中间留下空白相当于把先 手让给了对方,这时对方只要采用先手策略即可获胜;如果n为偶数,那么先手方只需采用n=2*k+1时的策略在双方交会的时候保住先手即可,当然此时的第 一步还是1号棋子,否则将失去先手优势。
#include <string.h> #include <stdio.h> int n, k, cas = 1; int main(){while(scanf("%d%d", &n, &k) != EOF) {printf("Case %d: ",cas++);if (k == 1) printf(n%2?"Bob\n":"Alice 1\n");else if(n == 2*k+1) printf("Alice %d\n", k);else printf("Alice 1\n");}return 0; }
转载于:https://www.cnblogs.com/Ritchie/p/5762443.html
HDU 4387 Stone Game (博弈)相关推荐
- HDU 1525 类Bash博弈
给两数a,b,大的数b = b - a*k,a*k为不大于b的数,重复过程,直到一个数为0时,此时当前操作人胜. 可以发现如果每次b=b%a,那么GCD的步数决定了先手后手谁胜,而每次GCD的一步过程 ...
- hdu 2177 威佐夫博弈
题目链接:hdu 2177 威佐夫博弈水题,如果不是奇异局势需要输出走完第一步石堆的状态,先按两堆取相同石子,再按只取一堆. 可以打表解决 #include<iostream> #incl ...
- HDU - 4388 Stone Game II(博弈+思维)
题目链接:点击查看 题目大意:最初有n堆石子,每堆石子的数目已知,现在有两个人轮流按照下列规则操作,不能操作的一方即为失败 首先选择一堆石子,设该堆石子目前有x个,从中拿走a个石子,剩下了k个石子,a ...
- hdu 2149 巴什博弈
http://acm.hdu.edu.cn/showproblem.php?pid=2149 分析:就是巴什博弈的概念. 题目要求:对于每组数据,在一行里按递增的顺序输出Lele第一次可以加的价.两个 ...
- hdu 2188巴什博弈
http://acm.hdu.edu.cn/showproblem.php?pid=2188 分析:巴什博弈. View Code // I'm lanjiangzhou //C #include & ...
- hdu 1907 & hdu 2509(Nim博弈)
其实我都是一直叫它(尼美博弈) 模型: 给你N堆,每堆数目是确定的(输入),每次从一堆取一个,多者不限,最多取完一堆.有两人AB,A先手,规定最后一个取完者赢(输).问先后手哪个赢(输).(假定两个人 ...
- hdu 2897 巴什博弈变形
题目来源: http://acm.hdu.edu.cn/showproblem.php?pid=2897 分析: n % (p + q) == 0 先手赢. 策略为: A 拿 q , B 拿任意 k ...
- HDU 1564 找规律博弈
题目大意是: 从n*n的方格角落的一个起点出发,每次移到上下左右一个未曾到达过的位置,谁不能走了谁就输了 想了好久都想不出,看了大神的题解 Orz了 果然博弈不是脑残的游戏啊... 这里从起点出发,将 ...
- hdu 2149+hdu 1846(巴什博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2149 首先介绍一下巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每 ...
- hdu 6015 Gameia(树上博弈)
题目链接:hdu 6015 Gameia 题意: 给出一棵树,Alice 和 Bob 轮流操作, Alice先手, Alice的操作是选一个未染色的点将其染成白色,Bob的操作是选一个未染色的点将其染 ...
最新文章
- python爬微博关键字_一个简单的python爬虫实践,爬取包含关键词的新浪微博
- 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法
- OREILLY Programming .NET 3.5 读书笔记之一
- boost::regex模块实现以编程方式生成代码片段,以便剪切并粘贴到正则表达式源中测试程序
- 同一个页面生成多个sessionid_web页面渲染(一)
- python一图带你精通time类型转换
- HTML简单实例加表单的显示效果
- c++中的构造函数和析构函数
- 解决“鼠标关机后仍然发光”的方法
- 李洪强iOS开发之XMPP
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载三
- python replace替换多个字符_「Python 秘籍」字符串忽略大小写的搜索替换
- T - SQL(常用语句)
- 网络安全实验---PGP 实现邮件加密和签名
- python学习视频下载地址全套
- html 去掉右键菜单,右键菜单管理清除多余项目的方法教程
- 信息安全术语中英文词条对照表
- 计算机学院审核评估方案,计算机与数据科学学院 本科教学工作审核评估迎评工作方案...
- 2015年国际数学奥林匹克(IMO)试题
- X-Ways Forensics: 综合取证分析工具
热门文章
- for 循环中实现多个点击事件
- nginx中配置虚拟主机
- Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)
- spring中的BeanFactory和FactoryBean的区别与联系
- 编程科普书籍推荐(Java)
- 说你呢,装着JDK8,却孜孜不倦的写着 JDK6 的代码,写了3年了,JDK8的特性都没用过......
- VS Code 新版本重磅发布,迎来 2020 年首个重大更新!
- 谁说不能用 Python开发企业应用?
- 一个创业公司CEO的85条感悟
- 4亿线上用户性能保证:Linked Redliner架构解密