首页 > 其他 > 详细

CF1200C

时间:2019-08-29 22:00:57      阅读:79      评论:0      收藏:0      [点我收藏+]

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; 
}

CF1200C

原文:https://www.cnblogs.com/Repulser/p/11432007.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!