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

樣例輸入1 複製
2
1 2 3
4 6 15
樣例輸出1
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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章