/*
* zoj_3203.cpp
*
* Created on: 2013年8月14日
* Author: Administrator
*/
#include <stdio.h>
double D,H,h;
double calc(double x)
{
return D-x+H-(H-h)*D/x;
}
double solve(double l ,double r){
double mid;
double midmid;
do{
mid = (l+r)/2;
midmid = (mid + r)/2;
if(calc(mid) >= calc(midmid)){
r = midmid;
}else{
l = mid;
}
}while(r-l >1e-9);
return calc(mid);
}
int main(){
int t;
scanf("%d",&t);
while(t--){
scanf("%lf%lf%lf",&H,&h,&D);
printf("%.3lf\n",solve((H-h)*D/H,D));
}
}
zoj 3203(Light Bulb)
最新推荐文章于 2019-08-05 16:00:03 发布