• gcd表(欧几里得定理)


    题目:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=797

    gcd表

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:3
     
    描述

    大家一定对gcd很熟悉吧,现在有一个问题又来了,给你一个n*m的表,第 i 行 ,第 j 列 的值是gcd(i,j)。

    然后有一个序列,你知道这个序列是否在n*m的表中的某一行出现过没。(要连续的啊)

    输入
    输入n,m,k(n,m如上所述,k为序列的长度,1 ≤ n, m ≤ 10^12; 1 ≤ k ≤ 10000)

    接下来k个数。
    输出
    如果出现过输出“YES” 否则 “NO”
    样例输入
    100 100 5
    5 2 1 2 1
    
    100 100 7
    1 2 3 4 5 6 7
    样例输出
    YES
    
    NO

    下面的代码超时了,AC不了,哪位大神可以帮忙解决下,感谢!!!
    题目链接:

    http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=797

     1 #include<stdio.h>
     2 #include<string.h>
     3 int gcd(int m,int n)
     4 {
     5     if(n==0)
     6         return m;
     7     else
     8         gcd(n,m%n);
     9 }
    10 int main()
    11 {
    12     int m,n,k,N;
    13     int a[10001];
    14     while(~scanf("%d%d",&m,&n))
    15     {
    16         scanf("%d",&N);
    17         int count = 1;
    18         int mark = 0;
    19         memset(a,0,sizeof(a));
    20         for(int i=0;i<N;i++)
    21         {    
    22             scanf("%d",&a[i]);
    23         }
    24         for(int i=1;i<=m;i++)
    25         {
    26             for(int j=1;j<=n;j++)
    27             {
    28                 if(gcd(i,j) == a[count] &&count <N)
    29                 {
    30                     count++;    
    31                 }
    32                 else
    33                 {
    34                     count = 0;
    35                 }
    36                 if(count == N)
    37                 {                
    38                     mark = 1;
    39                     break;
    40                 }
    41             }
    42         }
    43         printf("%s
    ",mark?"YES":"NO");
    44         mark = 0;
    45     }
    46     return 0;
    47 }
  • 相关阅读:
    java中创建线程的方式
    idea查看一个接口的子接口或实现类的快捷键
    idea查看源码没有注释的问题
    spring中的Aop
    spring中的ApplicationListener监听器
    spring中的事务管理
    IDEA创建springboot 项目
    xiaopiu产品设计
    java 6大设计原则 一:观察者模式
    java面向对象
  • 原文地址:https://www.cnblogs.com/geziyu/p/9207909.html
Copyright © 2020-2023  润新知