zoukankan      html  css  js  c++  java
  • 计蒜客练习题:取石子游戏

    计蒜客练习题:取石子游戏

    解题思路:设 d=gcd(a,b),那么 a,b 都是 d 的倍数,a+b和a-b也一定是 d 的倍数。然后看 1~n 范围内有多少个数是 d 的倍数,奇数个就是先手赢,偶数个就是后手赢。

    AC代码:

    #include <iostream>
    #include <cstdio>
    using namespace std;
    long long int gcd(long long int a,long long int b) {
      if (b == 0) {
        return a;
      }
      return gcd(b, a % b);
    }
    int main() {
      int t;
      cin >> t;
      while (t--) {
        long long int n,a, b;
        cin>>n>>a>>b;      
        int ans=n/gcd(a,b)%2;
         if(ans==1)
        cout << "huaye" << "
    ";
          else 
        cout<<"suantou" << "
    ";
      }
      return 0;
    }
    

    ————————————————————————————————————————
    问题描述:

    蒜头君和花椰妹在玩一个游戏,他们在地上将 n 颗石子排成一排,编号为 1 到 n。开始时,蒜头君随机取出了 2 颗石子扔掉,假设蒜头君取出的 2 颗石子的编号为 a, b。游戏规则如下,蒜头君和花椰妹 2 人轮流取石子,每次取石子,假设某人取出的石子编号为 i,那么必须要找到一对 j, k 满足 i=j−k 或者 i=j+k ,并且编号为 j,k 的石子已经被取出了,如果谁先不能取石子了,则视为输了。蒜头君比较绅士,让花椰妹先手。

  • 相关阅读:
    安装和使用git遇到的问题总结
    继承时,构造函数和析构函数的调用顺序
    c++文件的读写
    虚函数
    纯虚函数
    继承
    连接到github
    NDK无法包含std的头文件(string,list等)的解决方法
    Centos7.3安装maven并配置加速镜像源
    分享几个实用好看的WordPress主题(第二波)
  • 原文地址:https://www.cnblogs.com/fisherss/p/9985591.html
Copyright © 2011-2022 走看看