zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Codeforces #364 DIV2
    uva10635 LIS
    hdu3714 三分找最值
    【转】三分查找
    NBUT 1457 莫队算法 离散化
    HYSBZ 2038 莫队算法
    莫队算法
    poj3417 LCA + 树形dp
    hdu3087 LCA + 暴力
    hdu2874 LCA在线算法
  • 原文地址:https://www.cnblogs.com/geziyu/p/9207909.html
Copyright © 2011-2022 走看看