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 }
  • 相关阅读:
    Eclipse关于怎么调出web project
    RMI(远程方法调用)入门
    XSS攻击
    微信小程序
    java——IO流01
    06 python下
    06python上
    05python下
    05python上
    Nginx & Apache_网站用户认证
  • 原文地址:https://www.cnblogs.com/cnblogs321114287/p/4782565.html
Copyright © 2011-2022 走看看