• noj 2069 赵信的往事 [yy题 无限gcd]


    Accepted
    31MS
      224K
    1351Byte
    2014-11-13 13:32:56.0

    坑爹的无限gcd,,,尼玛想好久,原来要x对y算一次,y再对x算一次,,,

    赵信的往事

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 20            测试通过 : 2 

    描述


    输入

    输出

    样例输入

    样例输出

    提示

    题目来源

     1 #include<cstdio>
     2 #include<cstdlib>
     3 #include<cmath>
     4 #include<cstring>
     5 #include<string>
     6 #include<iostream>
     7 #include<algorithm>
     8 #include<set>
     9 #define maxi(a,b) (a)>(b)?(a):(b)
    10 #define mini(a,b) (a)<(b)?(a):(b)
    11 #define N 1000005
    12 #define mod 10000
    13 #define ll long long
    14 
    15 using namespace std;
    16 
    17 int T;
    18 int flag;
    19 int a[5];
    20 
    21 int gcd(int x,int y)
    22 {
    23     if(y==0)
    24         return x;
    25     return gcd(y,x%y);
    26 }
    27 
    28 void ini()
    29 {
    30     flag=1;
    31     scanf("%d%d%d",&a[0],&a[1],&a[2]);
    32     //printf("%d %d %d
    ",a[0],a[1],a[2]);
    33     sort(a,a+3);
    34 }
    35 
    36 
    37 void cal(int x,int y)
    38 {
    39     int g;
    40     if(x==1 && y==1) return;
    41     g=gcd(x,y);
    42     x/=g;
    43     y/=g;
    44     if(x==1 && y==1) return;
    45     else if(g==1 && y%x!=0){
    46         flag=0;return;
    47     }
    48     else{
    49         cal(x,g);
    50     }
    51     return;
    52     //}
    53 }
    54 
    55 void solve()
    56 {
    57    // printf(" sss
    ");
    58     cal(a[0],a[1]);
    59     cal(a[1],a[0]);
    60     if(flag==0) return;
    61   //  printf(" sss2
    ");
    62     cal(a[0],a[2]);
    63     cal(a[2],a[0]);
    64 }
    65 
    66 void out()
    67 {
    68     //printf(" oooo
    ");
    69     if(flag==1){
    70         printf("YES
    ");
    71     }
    72     else{
    73         printf("NO
    ");
    74     }
    75 }
    76 
    77 int main()
    78 {
    79    // freopen("data.in","r",stdin);
    80     scanf("%d",&T);
    81     while(T--)
    82    // while(scanf("%I64d",&n)!=EOF)
    83     {
    84         ini();
    85         solve();
    86         out();
    87     }
    88     return 0;
    89 }
  • 相关阅读:
    说说 共量子规律
    《【百年美文】原子核中无介子的理由》 回复
    新一代物理课题 : 奶油 为什么 可以 打发 ?
    大自然 的 密码 揭开 后 需要的是 枝繁叶茂 的 计算机 自动控制 系统工程
    签的空白合同有效吗
    css布局单位
    如何计算毛利额和毛利率? 毛利额与毛利率的区别是什么?
    python 练习题 409. 最长回文串
    python 练习题 976. 三角形的最大周长
    VirtualBox 导入之前建的虚拟机
  • 原文地址:https://www.cnblogs.com/njczy2010/p/4094755.html
Copyright © 2020-2023  润新知