left child (a + b, b) and right child (a, a + b)
和地盘分割那题的优化挺像的,不能一步一步地减,要用到取余的操作
#include<iostream>
using namespace std;
typedef long long ll;
int main() {
int n;
cin>>n;
ll x,y;
ll l=0;
ll r=0;
for(int i=1;i<=n;i++){
l=r=0;
cin>>x>>y;
cout<<"Scenario #"<<i<<":"<<endl;
while(x!=y){
if(x==1){
r+=(y-1);
y=1;
}
else if(y==1){
l+=(x-1);
x=1;
}
else if(x>y){
// x=x-y;
// l++;
l+=(x/y);
x%=y;
}
else if(x<y){
// y=y-x;
// r++;
r+=(y/x);
y%=x;
}
}
cout<<l<<" "<<r<<endl<<endl;
}
return 0;
}