E - 邂逅明下 HDU - 2897-----------------------思维(巴什博弈变形)

在这里插入图片描述

在这里插入图片描述
解析:
巴什博弈变形

巴什博弈模板结论 : n%(m+1)==0  先手必败,后手必胜
证明: 
1) n==m+1   先手随意取k个,那么后手一定能取到m+1-k   所以后手先取完
2) n=(m+1)*r+s  
2-1) s=0  就是(1)的结论
2-2) s!=0  先手想要取胜的决策  
先手取s个,剩余 (m+1)*r个
后手取k个,剩余 (m+1)*r-k个
先手取m+1-k个  ,剩余 (m+1)*r-k-m-1+k =  (m+1)*(r-1)个
那么后手面对的局面就是 n%(m+1)==0 的 回到了(1)的结论
 所以后手必败,先手必胜
对于本题相反的是,最少取p个,最多取q个,并且谁先取完谁就输了
一定得记住谁先取完谁就输了
1) n%(p+q)==0  先手必胜,后手必败  
2) n=(p+q)*r+s  (1<=s<=p)     后手必胜
先手取k个               剩 (p+q)*r+s-k
后手取p+q-k个           剩 (p+q)*(r-1)+s
.
.
.

最终由后手取完(p+q)*r个,还剩s个轮到先手来取 
因为 1<=s<=p 所以s会被一次取完  则先手取完所有数,先手必败,后手必胜

n=(p+q)*r+s   (p<s<=q)   先手必胜

先手取t个  1<s-t<=p     剩 (p+q)*r+s-t
后手取k个               剩 (p+q)*r+s-t-k
先手取(p+q-k)个         剩 (p+q)*(r-1)+s-t。
.
.
.
.
.
最终由先手取完(p+q)*(r-1)个,
还剩s-t个 由于(1<s-t<=p)  所以后手一次性取完,那么先手就胜,后手就必败






#include<bits/stdc++.h>
using namespace std;
int n,p,q;
int main()
{
  while(~scanf("%d %d %d",&n,&p,&q)&&n&&p&&q)
  {
    if(n%(p+q)==0) puts("WIN");
    else
    {
      int t=n%(p+q);
      if(t<=p) puts("LOST");
      else puts("WIN");
    }
  }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值