cf16C Monitor(额,,,,水数学,,)

题意:

一块镜子长宽是a*b。现在要调整(切割)成x:y的比例。

问调整完的最大面积是多少。

思路:

先将x,y弄成最简比例,然后放大到不超过min(a,b)即可。

代码:

ll a,b,x,y;
ll gcd(ll a,ll b){
    if(b==0) ret a;
    ret gcd(b,a%b);
}

int main(){

    cin>>a>>b>>x>>y;
    ll t=gcd(x,y);
    x/=t,   y/=t;

    if(!(a>=x&&b>=y)){
        puts("0 0");
        ret 0;
    }
    ll ans=0;
    ll X,Y;

    t=min(a/x,b/y);
    if(t*x*t*y>ans){
        ans=t*x*t*y;
        X=t*x;
        Y=t*y;
    }
    print("%I64d %I64d
",X,Y);

    ret 0;
}
原文地址:https://www.cnblogs.com/fish7/p/4329938.html