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

#define ll long long

ll t,n;


int main(){
    
    
    freopen("Transforming.in","r",stdin);
    freopen("Transforming.out","w",stdout);
    
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    
    cin>>t;
    while(t--){
        ll a,b,c,d;
        cin>>a>>b>>c>>d;
        ll ans=0,k,u;
        bool flag=false;
        while(c>=a&&d>=b){
            if(c==a&&d==b){
                flag=true;
                break;
            }
            if(c>d){
                k=c/d;
                c-=d*k;
                if(c<a){
                    c+=d*k;
                    u=(c-a)/d;
                    if(u==0){
                        break;
                    }
                    c-=u*d;
                    ans+=u;
                }
                else{
                    ans+=k;
                }
            }
            else{
                k=d/c;
                d-=c*k;
                if(d<b){
                    d+=c*k;
                    u=(d-b)/c;
                    if(u==0){
                        break;
                    }
                    d-=u*c;
                    ans+=u;
                }
                else{
                    ans+=k; 
                }
            }
        }
        if(flag){
            cout<<ans<<"\n"; 
        }
        else{
            cout<<"-1\n";
        }
    }
    
    
    
    return 0;
}