Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
128079 | 柯昊阳 | 交叉的梯子 | C++ | 解答错误 | 0 | 332 MS | 244 KB | 494 | 2024-01-25 11:40:42 |
#include <bits/stdc++.h> #define int long long using namespace std; double x,y,c; bool check(double l){ double a = 1/sqrt(x*x-l*l),b = 1/sqrt(y*y-l*l); return ((a+b)*c)<a*b; } signed main(){ while(cin>>x>>y>>c){ if(x==0||c==0||y==0){ cout<<"0"<<endl; } else { double l = 1,r = min(x,y); while(l<=r){ double mid = (l+r)/2.0; if(check(mid)){ l = mid+0.0001; } else r = mid-0.0001; } cout<<fixed<<setprecision(3)<<l<<endl; } } }