zoukankan      html  css  js  c++  java
  • 教官的游戏

    【题目描述】

    有N个学生刚吃完饭,准备出食堂,学校有个规矩:必须2人一排或3人一排离开。

    两个教官A,B轮流取2或3人,谁先取完谁就赢得游戏(A先取)。

    若两人都采用最优策略,询问谁会赢。

    【输入描述】

    一个整数N。

    【输出描述】

    A赢输出1;

    B赢输出-1;

    平局输出0;

    若人数为负,输出120。

    【样例输入】

    7

    【样例输出】

    1

    【数据范围及提示】

    N <= 10000。

    源代码:
    
    #include<cstdio>
    int n;
    int main() //显而易见的简单博弈论。
    {
        scanf("%d",&n);
        if (n<0)
          printf("120");
        else
        {
            int t1=n/5,t2=n%5;
            if (!t2) //若能够整除,则一定为ABAB状态。
              printf("-1");
            else
              if (t1&1) //判断是否为奇数。
              {
                if (t2<2||t2>3) //此情况为2步不为3步。
                  printf("-1"); //ABAB状态。
                else
                  printf("1"); //ABABA状态。
              }
              else
              {
                if (t2<2||t2>3)
                  printf("1");
                else
                  printf("-1");
              }
        }
        return 0;
    }
  • 相关阅读:
    建造者模式
    模板方法模式
    抽象工厂模式
    工厂方法模式
    Josephus环问题
    单例模式
    求两个数的最大公约数
    Nginx的安装与部署
    左京大夫显辅
    java 调用第三方系统时的连接代码-记录
  • 原文地址:https://www.cnblogs.com/Ackermann/p/5559991.html
Copyright © 2011-2022 走看看