15145641

  巴什博奕的变形,与以往巴什博奕不同的是,这里给出了上界和下界,原先是(1,m),现在是(p,q),但是原理还是一样的,解释如下:

  假设先取者为A,后取者为B,初始状态下有石子n个,除最后一次外其他每次取得石子个数必须在[pq]之间.

  •   若当前石子共有n = p+q * r个,则A必胜,必胜策略为:A第一次取q个,以后每次若BK个,A取(p+q-k)个,如此下去最后必剩下p个给B,所以A必胜。
  1. n = p+q)* r + left个(1 < left <= pB必胜,必胜策略为:每次取石子活动中,若Ak个,则B去(p+q-k)个,那么最后剩下left个给A
  2. 此时left <= p,所以A只能一次去完,B胜。
  3. n = p+q * r + left个(p < left <= q),则A必胜,必胜策略为:A第一次取t1 < left t < = p)个,以后每次Bk个,
  4. A取(p+q-k)个,那么最后留下1 < left t <= pB,则A胜。
#include<stdio.h>
#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
using namespace std;
int main()
{
    int n,p,q;
    while(~scanf("%d%d%d",&n,&p,&q))
    {
        if((n%(p+q)) > p || n%(p+q) == 0)
        {
            puts("WIN");
        }
        else puts("LOST");
    }
    return 0;
}

 

posted on 2016-04-30 18:38  icode-xiaohu  阅读(425)  评论(0编辑  收藏  举报