[51nod1247]可能的路径(思维题)

题意:给定(a,b),(x,y)  ,(a,b)可以通向(a-b,b) (a+b,b) (a,a+b) (a,a-b) 求能否到达(x,y)

解题关键:类似于更相减损,变换过程中gcd是一样的。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
    ll n,a,b,c,d;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a>>b>>c>>d;
        if(__gcd(a,b)==__gcd(c,d)) cout<<"Yes\n";
        else cout<<"No\n";
    }
    return 0;
}

 

posted @ 2017-11-06 15:53  Elpsywk  阅读(183)  评论(0编辑  收藏  举报