大意:一堆石子共有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 ;
}

最新文章

  1. 数据库访问CRUD;__SELF__和__ACTION__的区别;自动收集表单:$n-&gt;create();
  2. MVC将服务器端的物理路径转换为服务器路径
  3. UVA1555-- Garland(推导+二分)
  4. Mastering Web Application Development with AngularJS 读书笔记(二)
  5. List与Set的使用
  6. php威盾解密的例子分享
  7. Java常用命令行工具
  8. Spring启动时加载数据
  9. linux开机启动增加tomcat启动项
  10. Oracle 11g新特性虚拟列分区
  11. 写一些脚本的心得总结系列第4篇-------从数据库同步到redis
  12. BZOJ3109: [cqoi2013]新数独
  13. Error:unsupported class file version 52.0问题的解决
  14. oracle去掉字段全部空格进行模糊查询
  15. cdnbest区域里快速配置全部节点的缓存
  16. linux 斜杠/
  17. hdu-4466-Triangle 数学题
  18. Geocoding java调用百度地图API v2.0 图文 实例( 解决102错误)
  19. openstack系列文章(三)
  20. 20181113-7 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 05

热门文章

  1. jQuery Plugin Docs
  2. split() 注意事项.
  3. MySQL ODBC for Linux
  4. 在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标的解决方法
  5. offset求结构体成员的偏移量
  6. python virtualenv环境运行django
  7. oracle数据库迁移---windows环境下
  8. ABAP ole方式对EXCEL进行操作
  9. codeforces 460D Little Victor and Set(构造、枚举)
  10. zsh 通信脚本