楼梯
题目 楼梯
思路分析
代码实现
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
double x,y,c;
bool check(double mid){
double rx=sqrt(x*x-mid*mid);
double ry=sqrt(y*y-mid*mid);
double h=rx*ry/(rx+ry);
if(h<c) return true;
return false;
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>x>>y>>c;
double l=0,r=min(x,y);
while(r-l>1e-5){
double mid=(l+r)/2;
if(check(mid)) r=mid;
else l=mid;
}
printf("%.3lf",r);
return 0;
}
💬 评论