zoukankan      html  css  js  c++  java
  • CF1200C

    CF1200C

    题意:

    问内圆和外圆分别分成n、m份,每份有标号,问是否可以从一个部分走到另一个部分,12点钟位置一定有个线。

    解法:

    如果有一堵墙贯穿1和2,那么会使得两边不连通。这样的墙会显然出现再n或m/最大公约数的处。

    CODE:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    
    using namespace std; 
    
    #define LL long long 
    
    LL n,m,q;
    
    inline LL gcd(LL a,LL b) {
        return !b ? a : gcd(b,a%b);
    }
     
    int main() { 
        scanf("%lld%lld%lld",&n,&m,&q); 
        LL G = gcd(n, m); 
        LL nn = n / G, mm = m / G; 
        while (q--) {
            LL x1, y1, x2, y2; 
            scanf("%lld%lld%lld%lld",&x1,&y1,&x2,&y2); 
            y1--, y2--; 
            LL ans1, ans2; 
            if(x1 == 1) ans1 = y1 / nn; 
            else ans1 = y1 / mm; 
            if(x2 == 1) ans2 = y2 / nn; 
            else ans2 = y2 / mm; 
            if(ans1 == ans2) puts("YES"); 
            else puts("NO"); 
        }
        //system("pause");
        return 0; 
    }
    
  • 相关阅读:
    HDU 2717 Catch That Cow
    补题列表
    Codeforces 862C 异或!
    HDU 2084
    HDU 2037
    Codeforces 492B
    POJ 2262
    Codeforces 1037A
    HDU 1276
    itertools — Functions creating iterators for efficient looping
  • 原文地址:https://www.cnblogs.com/Repulser/p/11432007.html
Copyright © 2011-2022 走看看