链接:http://codeforces.com/contest/16/problem/C
无意中做的道题,做不来
看解题报告才知道
数学题无能啊
题目就是要a:b=c:d就行了
我用a*d=b*c来做,可能是数大的时候存不下吧,反正老是WA
看别人解题报告说是先把c:d化成最简的,然后求a/c和b/d中最小的单位量
然后去乘c和d就行了
详情见代码:
#include <iostream>
#include <stdio.h>
#define maxn 0xfffffff
using namespace std;
long long gcd(long long a,long long b)
{
return a%b?gcd(b,a%b):b;
}
int main()
{
long long a,b,c,d,k;
while(scanf("%I64d %I64d %I64d %I64d",&a,&b,&c,&d)==4)
{
long long div=gcd(c,d);
c/=div,d/=div;
int min=a/c>b/d?b/d:a/c;
printf("%I64d %I64d\n",min*c,min*d);
}
}