10喵哈哈村的魔法石

Posted 雪晨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10喵哈哈村的魔法石相关的知识,希望对你有一定的参考价值。

题目传送:

传说喵哈哈村有三种神奇的魔法石:第一种魔法石叫做人铁石,拥有A的能量;第二种魔法石叫做地冈石,拥有B的能量;而第三种,则是最神奇的天玄石,拥有无可比拟的C的能量!

但是有一天,沈宝宝太调皮了,把一颗天玄石玩丢了……

“这可玩大发了,这样我会被天行廖责备的。”沈宝宝悲伤的说到,“怎么办呢?”

这时候沈宝宝望了望窗外的飞过的白鸽,突然急中生智,想到了一个办法:干脆就用人铁石和地冈石把天玄石凑出来吧!

“只要我拿若干个人铁石,若干个地冈石,他们的能量之和,恰好加起来等于天玄石所拥有的能量。然后再把这些石头粘在一起,那么由若干个石头的组成的整体,我不就可以看做是一个天玄石了吗?“

沈宝宝愈发觉得自己机智。

所以现在有一个问题摆在你的面前了,给你ABC,请判断是否存在两个大于等于0的整数x,y满足Ax+By=C.

第一行一个T,表示有T组测试数据。
接下来T行,每行三个整数a,b,c,分别表示三块石头的能量值。
满足(1<=T<=100,1?≤?a,?b?≤?100,?1?≤?c?≤?10?000)

对每一组测试答案均需要输出结果,如果可行的话,输出Yes,否则输出No

 复制
2
1 2 3
4 6 15
Yes
No


代码如下(改代码来自网络):


#include "iostream"
using namespace std;

const int M = 1e5+10;

int main(){
int T;
cin>>T;
while(T--){
long long a,b,c,res;
int tmp=0;
cin>>a>>b>>c;
for(int i=0;i<=M;i++){
res = c - a*i;
if(res==0){
puts("Yes");
tmp=1;
break;
}
if(res<0)break;
long long p = res/b;
if(p*b==res){
tmp=1;
puts("Yes");
break;
}
}
if(tmp==0) puts("No");
}
return 0;
}

以上是关于10喵哈哈村的魔法石的主要内容,如果未能解决你的问题,请参考以下文章

喵哈哈村的魔法考试 Round #10 (Div.2) A

2017-5-17-Train:喵哈哈村的魔法考试 Round #18 (Div.2)

喵哈哈村的魔法考试 Round #7 (Div.2) B

qscoj 128 喵哈哈村的魔法源泉(模仿快速幂,好题)

喵哈哈村的魔法考试 Round #3 (Div.2) ABCDE

喵哈哈村的魔法考试 Round #19 (Div.2) B