Light Bulb

来源:互联网 发布:山西省建筑业企业网络 编辑:程序博客网 时间:2024/06/10 01:32

题目链接:https://vjudge.net/contest/181589#problem/A

纯数学方法即可

代码如下:

#include<cstdio>#include<cmath>int main(){    int t;    scanf("%d",&t);    for(int i=1;i<=t;i++)    {        double H,h,D,L;        scanf("%lf%lf%lf",&H,&h,&D);        if(H-h>D)            L=h;        else if(H*H>(H-h)*D)            L=H+D-2*sqrt((H-h)*D);        else            L=h*D/H;        printf("%.3lf\n",L);    }    return 0;}