题意:
题解:
AC代码
/* Author : zzugzx Lang : C++ Blog : blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair #define all(x) (x).begin(), (x).end() #define endl '\n' #define SZ(x) (int)x.size() typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int mod = 1e9+7; //const int mod = 998244353; const double eps = 1e-10; const double pi = acos(-1.0); const int maxn = 1e6+10; const ll inf = 0x3f3f3f3f; const int dir[][2]={{0, 1}, {1, 0}, {0, -1}, {-1, 0}, {1, 1}, {1, -1}, {-1, 1}, {-1, -1}}; double dfs(double x, double y, int n) { if (n == 1) return max(x, y) / min(x, y); double a = x / n, b = y / n, ans = inf; for (int i = 1; i <= n / 2; i++) ans = min(ans, min(max(dfs(i * a, y, i), dfs(x - i * a, y, n - i)), max(dfs(x, i * b, i), dfs(x, y - i * b, n - i)))); return ans; } int main() { int x, y, n; scanf("%d%d%d", &x, &y, &n); printf("%.6f\n", dfs(x, y, n)); return 0; }