1 条题解
-
0
#include <bits/stdc++.h> using namespace std; double dfs(double x, double y, int k) { if (k == 1) return max(x, y) / min(x, y); double ans = 999999999.0; for (int i = 1; i < k; i++) { ans = min(ans, max(dfs(x, y / k * i, i), dfs(x, y / k * (k - i), k - i))); ans = min(ans, max(dfs(x / k * i, y, i), dfs(x / k * (k - i), y, k - i))); } return ans; } int main() { double x, y; int n; scanf("%lf%lf%d", &x, &y, &n); printf("%.6lf\n", dfs(x, y, n)); return 0; }
- 1
信息
- ID
- 2677
- 时间
- 2000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 19
- 已通过
- 18
- 上传者