其他分享
首页 > 其他分享> > SP13388 题解

SP13388 题解

作者:互联网

有 \(T\) 组询问,每组通过三种方式凑出 \(z\) 升水,若可以则输出 YES,不能则输出 NO

根据样例的模拟可以发现:若 \(z\) 是 \(x\) 和 \(y\) 的最大公约数的倍数且 \(x\) 和 \(y\) 中间有一个 \(\ge z\),就可以凑出 \(z\) 升水(扩展欧几里得算法)。

#include<bits/stdc++.h>
using namespace std;
int T,x,y,z;
int main(){
	cin>>T;
    while(T--){//T组询问
    	cin>>x>>y>>z;
    	if(z%__gcd(x,y)==0 && (x>=z || y>=z)) cout<<"YES\n";
    	else cout<<"NO\n";
    }
    return 0;
}

标签:输出,升水,int,题解,询问,凑出,cin,SP13388
来源: https://www.cnblogs.com/lzx1609/p/sp13388.html