显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long t,aa,bb,cc,dd,s[1000006],cnt,ans,ji=0;
long long oopz(long long a,long long b,long long c,long long d){
if(a==c&&b==d){
return ans;
}
else if(a>c||b>d){
return -1;
}
else{
while(c>a||d>b){
ji=0;
if(c>d){
ji=(c-a)/d;
if(ji==0)return -1;
else{
ans+=ji;
c-=d*ji;
}
}
else if(c<d){
ji=(d-b)/c;
if(ji==0)return -1;
else{
ans+=ji;
d-=c*ji;
}
}
else return -1;
}
}
if(a==c&&b==d)return ans;
return -1;
}
int main(){
freopen("Transforming.in","r",stdin);
freopen("Transforming.out","w",stdout);
cin>>t;
for(int o=1;o<=t;o++){
ans=0;
ji=0;
cin>>aa>>bb>>cc>>dd;
cout<<oopz(aa,bb,cc,dd)<<endl;
}
return 0;
}