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