zoukankan      html  css  js  c++  java
  • zzuli-小火山的跳子游戏

    Description

      小火山和火山火山在一块玩跳子游戏。规则如下:
      1:跳子的起始位置为0,棋盘大小从1到N
      2:每次跳子跳k步。 例如当前位置为i, 那么下一步为i + k
      3:跳子过程中,碰到1或N则往回跳。例如当前位置为4, N = 6, K = 5的
    时候, 那么下次跳子, 应该是 5, 6, 5 ,4, 3。最后落在3的位置, 再一次
    跳子为2 1 2 3 4。最后落在4的位置;
      现在小火山想知道经过任意次跳子最后能否将这个棋盘上的每个数字都走过。
     

    Input

    输入第一行是一个整数T(T <= 20000), 表示一共有T组数据。
    每一组数据都有两个整数N, K(1 <= K ,N <= 5000)
     

    Output

    对于每组数据,如果可以将这个棋盘上的每个数字都走过则输出"Yes", 否则输出"No"

    Sample Input

    2
    6 4
    2 1

    Sample Output

    No
    Yes
     
    红红火火恍恍惚惚
     
     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<string.h>
     4 #include<algorithm>
     5 #define N 50
     6 using namespace std;
     7 int gcd (int a, int b)
     8 {
     9     if (a % b == 0)
    10         return b;
    11     return gcd(b, a%b);
    12 }
    13 int main()
    14 {
    15     int T;
    16     scanf ("%d ", &T);
    17     while(T--)
    18     {
    19         int n, m;
    20         scanf ("%d %d", &n, &m);
    21         n = n * 2 - 2;
    22         if (gcd(n, m) == 1)
    23             printf ("Yes
    ");
    24         else
    25             printf ("No
    ");
    26     }
    27     return 0;
    28 }
    View Code

    想不想看看我们团队当初是怎么写的,这可是活生生的模拟下来的啊

    红红火火恍恍惚惚

     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<string.h>
     4 #include<algorithm>
     5 #define N 10010
     6 using namespace std;
     7 int p[N];
     8 int QQ(int a, int b)
     9 {
    10     int d = 0;
    11     while(1)
    12     {
    13         d += b;
    14         if (d >= 2*a)
    15             d = d - 2*a + 2;
    16         if (p[d] == 2 || p[2*a-d] == 2)
    17             break;
    18         p[d]++;
    19         p[2*a-d]++;
    20     }
    21     for (int i = 1; i <= a; i++)
    22         if (p[i] == 0)
    23         return 0;
    24     return 1;
    25 }
    26 int main()
    27 {
    28     int T;
    29     scanf ("%d ", &T);
    30     while(T--)
    31     {
    32         memset(p, 0, sizeof(p));
    33        int a, b;
    34        scanf ("%d %d", &a, &b);
    35       if (QQ(a, b) == 1)
    36       printf ("Yes
    ");
    37       else
    38         printf ("No
    ");
    39     }
    40     return 0;
    41 }
    View Code
  • 相关阅读:
    MYSQL查询和插入数据的流程是怎样的
    Nacos服务心跳和健康检查源码介绍
    Nacos使用和注册部分源码介绍
    实用程序包utils
    SOLID原则
    前端实用程序包utils
    实现 strStr()
    记一次华为机试
    十分钟入门 Python 教程
    字符串转换整数 (atoi)
  • 原文地址:https://www.cnblogs.com/Aa948766160/p/5759703.html
Copyright © 2011-2022 走看看