Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
128050 | 黄一航 | 交叉的梯子 | C++ | 解答错误 | 80 | 390 MS | 252 KB | 470 | 2024-01-25 11:36:23 |
#include <bits/stdc++.h> using namespace std; double x,y,c; bool chk(double l) { double a = sqrt(x * x - l * l),b = sqrt(y * y - l * l); return !(1 / a + 1 / b > 1 / c); } signed main() { while (cin >> x >> y >> c) { double l = 0,r = sqrt(min(x,y) * min(x,y) - c * c); while (l <= r) { double mid = l + (r - l) / 2; if (chk(mid)) l = mid + 0.00001; else r = mid - 0.00001; } printf("%.3lf\n",l + 0.00001); } return 0; }