zoukankan      html  css  js  c++  java
  • hdu 2897 巴什博弈变形 ***

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

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int n,p,q;
     5     while(scanf("%d%d%d",&n,&p,&q)!=EOF)
     6     {
     7         int left=n%(p+q);
     8         if(left<=p&&left>0)
     9              printf("LOST
    ");
    10         else  printf("WIN
    ");
    11     }    
    12     return 0;
    13 }
  • 相关阅读:
    QTP的那些事连接oracle的方法
    QTP的那些事判定页面是否存在某个文本内容
    java计算的小数加减法计算有错误解决
    自由者-Hdsome安身立鸣博客园
    转:经典URL重写
    常见的类整理
    TD tree体验
    《大道至简》读后感
    SqlDataReader使用
    ExecuteScalar
  • 原文地址:https://www.cnblogs.com/cnblogs321114287/p/4782565.html
Copyright © 2011-2022 走看看