这个屑MLE了,但这个屑不知道自己错在哪
  • 板块P5179 Fraction
  • 楼主Cocoly1990
  • 当前回复20
  • 已保存回复20
  • 发布时间2021/8/7 22:40
  • 上次更新2023/11/4 11:40:49
查看原帖
这个屑MLE了,但这个屑不知道自己错在哪
183026
Cocoly1990楼主2021/8/7 22:40
#include<bits/stdc++.h>
#define ll long long
ll p , q ;
using namespace std ;
ll cleann(ll &x , ll &y) 
{

	x /= __gcd(x , y) ;
	y /= __gcd(x , y) ;	
}
void ans(ll a , ll b , ll c , ll d , ll &p , ll &q)
{
	cleann(a , b) , cleann(c , d) ;
	ll x = a / b + 1 , y = c / d - 1 ;
	if(x <= y) p = x , q = 1 ;
	else if(! a) p = 1 , q = d / c + 1 ;
	else if(a <= b && c <= d) ans(d , c , b , a , q , p) ;
	else ans(a % b , b , c - d * (a / b) , d , p , q) , p += q * (a / b) ;
}
int main()
{
	ll a , b , c , d ;
	while(cin >> a >> b >> c >> d)
	{
		ans(a , b , c , d , p , q) ;
		cout << p << "/" << q << endl ;
	}
	return 0 ; 
} 
2021/8/7 22:40
加载中...