• 巴什博弈------最少取件数 不是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 }
  • 相关阅读:
    Servlet入门
    序列化
    ConcurrentHashMap红黑树的实现
    ConcurrentHashMap1.7和1.8的源码分析比较
    TCP/IP中的传输层协议TCP、UDP
    Java内存模型和ConcurrentHashMap 1.7源码分析
    JAVA研发面试题
    面试题(Python)
    初识Python
    Python解释器安装与环境变量添加
  • 原文地址:https://www.cnblogs.com/A-FM/p/5234719.html
Copyright © 2020-2023  润新知