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

ll T;
ll a,b,c,d,k;
ll ans;
bool flag;

int main(){
//	freopen("in.in","r",stdin);
//	freopen("out.out","w",stdout);
	freopen("Transforming.in","r",stdin);
	freopen("Transforming.out","w",stdout);
	scanf("%lld",&T);
	while(T--){
		scanf("%lld %lld %lld %lld",&a,&b,&c,&d);
		ans=0;flag=0;
		if (a>c||b>d){
			printf("-1\n");
			continue;
		}if(a==c&&b==d){
			printf("0\n");
			continue;
		}
		while (a<c||b<d){
			if (c>d){ 
				if (d==0){ flag=1;break;}
				k=(c-a)/d;
				if (k==0){ flag=1;break;}
				c-=k*d;
				ans+=k;
    		}else if (d>c){
    			if (c==0){ flag=1;break;}
    			k=(d-b)/c;
    			if (k==0){ flag=1;break;}
    			d-=k*c;
    			ans+=k;
    		}else{ flag=1;break;}
		}
		if (!c==a||!b==d) flag=1;
		if (flag) printf("-1\n");
		else printf("%lld\n",ans);
	}
	return 0;
}