24568全wa,我看有人说gcd会TLE, 但我这里没有.已经想不到哪里还有坑了
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
int n, m;
long double xy;
cin >> n >> m >> xy;
long double _min = 1;
int df = 0, ix = xy, iy = 1;
for( int i = 1; i <= m; i ++ )
{
long double ni = xy * (double)i;
int ini = ni;
long double tmp = ni - ini;
if( tmp > 0.5 )
{
tmp = 1 - tmp;
ini ++;
}
if( ini > n ) break;
tmp /= (double)i;
if( tmp < _min )
{
_min = tmp;
if( __gcd( ini, i ) > 1 || (ini*2 <= n && i * 2 <= m) ) df = 1;
else df = 0;
ix = ini;
iy = i;
}
}
if( df ) cout << "TOO MANY";
else cout << ix << '/' << iy;
return 0;
}