zoukankan      html  css  js  c++  java
  • HDU 2897 邂逅明下(巴什博奕变形)

      巴什博奕的变形,与以往巴什博奕不同的是,这里给出了上界和下界,原先是(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;
    }
  • 相关阅读:
    利用Expression实现DbReader到对象属性的绑定
    致多年后第一次更新
    阿拉伯数字转换成中文大写
    Android程序的入口点是什么,不是Main()吗
    imageButton 和button的区别
    对象和引用的区别
    hdu 4455 Substrings
    Running Rabbits
    ZOJ Problem Set
    几乎就是并查集 (Almost Union-Find,UVa 11987)
  • 原文地址:https://www.cnblogs.com/jifahu/p/5449106.html
Copyright © 2011-2022 走看看