hdu 2897 巴什博弈变形 ***
2024-08-25 02:33:48
大意:一堆石子共有n个,A,B两人轮流从中取,每次取的石子数必须
在[p,q]区间内,若剩下的石子数少于p个,当前取者必须全部取完。
最后取石子的人输。给出n,p,q,问先取者是否有必胜策略?
Bash博弈的变形
假设先取者为A,后取者为B,初始状态下有石子n个,除最后一次每次取的石子个数必须在[p,q]区间内,则:
1.若当前石子共有n = (p+q)*r个,则A必胜,必胜策略为:
A第一次取q个,以后每次若B取k个,A取(p+q-k)个,如此最后必剩下p个给B,A胜
2.若n = (p+q)*r+left,(1<left<=p),则B必胜,必胜策略为:
每次取石子活动中,若A取k个,则B取(p+q-k)个,那么最后必剩下left个给A,
此时left<=p,A只能一次取完,B胜
3.若n = (p+q)*r+left,(p<left<p+q),则A必胜,必胜策略为:
A第一次取t(1<left-t<=p)个,以后每次若B取k个,A取(p+q-k)个,
那么最后必剩下1<left-t<=p个给B,A胜
#include<stdio.h>
int main()
{
int n,p,q;
while(scanf("%d%d%d",&n,&p,&q)!=EOF)
{
int left=n%(p+q);
if(left<=p&&left>)
printf("LOST\n");
else printf("WIN\n");
}
return ;
}
最新文章
- 数据库访问CRUD;__SELF__和__ACTION__的区别;自动收集表单:$n->;create();
- MVC将服务器端的物理路径转换为服务器路径
- UVA1555-- Garland(推导+二分)
- Mastering Web Application Development with AngularJS 读书笔记(二)
- List与Set的使用
- php威盾解密的例子分享
- Java常用命令行工具
- Spring启动时加载数据
- linux开机启动增加tomcat启动项
- Oracle 11g新特性虚拟列分区
- 写一些脚本的心得总结系列第4篇-------从数据库同步到redis
- BZOJ3109: [cqoi2013]新数独
- Error:unsupported class file version 52.0问题的解决
- oracle去掉字段全部空格进行模糊查询
- cdnbest区域里快速配置全部节点的缓存
- linux 斜杠/
- hdu-4466-Triangle 数学题
- Geocoding java调用百度地图API v2.0 图文 实例( 解决102错误)
- openstack系列文章(三)
- 20181113-7 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 05