CF 578# c

题目描述;给你两个环,均分n,m等份,并且有间隔, 给你两点问你可不可达


思路:每过最大公约数一个栏,注意下周期的处理
ac代码:
//
//  main.cpp
//  1
//
//  Created by 姚征兵 on 2019/8/28.
//  Copyright © 2019 姚征兵. All rights reserved.
//
 
#include <iostream>
using namespace std;
long long _gcd(long long a,long long b){
    return b==0?a:_gcd(b,a%b);
}
int main(int argc, const char * argv[]) {
    ios::sync_with_stdio(0);
    cin.tie(0);
    long long n,m,q;
    cin>>n>>m>>q;
    long long g=_gcd(n,m);
    m=m/g,n=n/g;
    while(q--){
        long long  x1,x2,y1,y2;
        cin>>x1>>y1>>x2>>y2;
        y1--;
        y2--;
        if(x1==2)y1/=m;
        else y1/=n;
        if(x2==2) y2/=m;
        else y2/=n;
        y1==y2?puts("YES"):puts("NO");
    }
    return 0;
}


全部评论

相关推荐

头像
03-18 09:09
Java
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务