#include<iostream>
using namespace std;
typedef long long ll;
void solve(ll a,ll b,ll c,ll d,ll &x,ll &y)
{
if(a==0||b<=0)
{
x=1,y=0;
return;
}
if(a>=b)
{
ll k=a/b;
solve(a-k*b,b,c-k*d,d,x,y);
y+=k*x;
}
else
{
ll k=(b-1)/a;
if(d/c<k)
x=1,y=1;
else
solve(a,b-a*k,c,d-k*c,x,y);
x+=k*y;
}
}
int main()
{
ll t,a,b,c,d,x,y;
scanf("%lld",&t);
while(t--&&scanf("%lld%lld%lld%lld",&a,&b,&c,&d)!=EOF)
{
solve(a,b,c,d,x,y);
printf("%lld\n",x);
}
return 0;
}
ZOJ 3873
最新推荐文章于 2018-03-11 17:31:02 发布