比赛 2025.9.13 评测结果 AAAAAAAAAAAA
题目名称 Transforming Pairs 最终得分 100
用户昵称 健康铀 运行时间 0.182 s
代码语言 C++ 内存使用 3.73 MiB
提交时间 2025-09-13 10:36:21
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;

int a,b,c,d,ans;

void gcd(int x,int y){
	if(x==a){
		if(y<b){ans=-1;return;}
		if((y-b)%a==0){ans+=(y-b)/a;return;}
		else{ans=-1;return;}
	}
	if(y==b){
		if(x<a){ans=-1;return;}
		if((x-a)%b==0){ans+=(x-a)/b;return;}
		else{ans=-1;return;}
	}
	if(x==0||y==0){ans=-1;return;}
	if(x>y){ans+=x/y;gcd(x%y,y);}
	else{ans+=y/x;gcd(x,y%x);}
}

void wrk(){
	cin>>a>>b>>c>>d;
	ans=0;
	gcd(c,d);
	cout<<ans<<"\n";
}

signed main(){
	freopen("Transforming.in","r",stdin);
	freopen("Transforming.out","w",stdout);
	int t;cin>>t;
	while(t--)wrk();
	return 0;
}