zoukankan      html  css  js  c++  java
  • 巴什博弈------最少取件数 不是1的情况下 hdu---2897

    最少取件数 是1的时候   核心代码是  

    1 //  共有 n 见 物品  一次最少取  一个 最多取 m 个
    2 if(n%(m+1)==0)
    3     printf("先取者输");

    在代码中  可以看到   题目中 一共出现的  三个量  1 , n ,m            

    当 最少取件数 不是 1的 情况下 怎么办呢   部分同学 应该就想到了  这种 代码 

    1 //  共有 n 见 物品  一次最少取  p 个 最多取 q 个
    2 if(n%(m+q)==0)
    3     printf("先取者输");

    然而 只是这样考虑的话 那么  思维就有点 僵硬了 

    没有考虑到 其他的 必输 情况 

    也就是  当 n%(p+q) 的时候   余数 可能是  大于 最小 可取数的   当 余数 大于最小可取数的时候  对手仍然可以让你 必输 ....说的不清楚   自己用  6  2  3  这三个 数字 检测一下吧

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int q,n,p;
     5     while(scanf("%d%d%d",&n,&p,&q)!=EOF)
     6     {
     7         if(n%(q+p)==0||n%(q+p)>p)
     8             printf("WIN
    ");
     9         else
    10             printf("LOST
    ");
    11     }
    12     return 0;
    13 }
  • 相关阅读:
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺1
    第七次作业
    第六次作业(计算器第四步)
    课堂作业二 PAT1025 反转链表
    第五次作业(计算器第三步)
    课堂作业一(16/05/04)
    Calculator(补)
  • 原文地址:https://www.cnblogs.com/A-FM/p/5234719.html
Copyright © 2011-2022 走看看