zoukankan      html  css  js  c++  java
  • FZU 2095 水面高度

    一共六种情况。手算即可。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    
    int T;
    double a,b,c,d,x;
    double ans;
    
    int main()
    {
        scanf("%d",&T);
        while(T--)
        {
            scanf("%lf%lf%lf%lf%lf",&a,&b,&c,&d,&x);
            double h=sqrt(c*c-x*x*c*c/(a*a));
            double p=x*c/a;
            double tmp=a*d;
    
            if(x<=h)
            {
                double m=a*a/sqrt(a*a-x*x);
                double s1=m*x/2;
                double s2=a*c-m*x;
                double s3=m*x/2;
    
                if(tmp<=s1) ans=sqrt(tmp/s1)*x;
                else if(tmp<=s1+s2) ans=(tmp-s1+m*x)/m;
                else ans=x+h-sqrt((a*c-tmp)/s1)*x;
            }
            else
            {
                double m=c*c/p;
                double s1=m*h/2;
                double s2=a*c-m*h;
                double s3=m*h/2;
    
                if(tmp<=s1) ans=sqrt(tmp/s1)*h;
                else if(tmp<=s1+s2) ans=(tmp-s1+m*h)/m;
                else ans=h+x-sqrt((a*c-tmp)/s1)*h;
            }
    
            printf("%.2lf
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    OC
    OC
    OC
    OC
    OC
    Oracle wm_concat()函数
    字符串拼接
    easyui扩展数据表格点击加号拓展
    子tab里面新增tab(top.jQuery)
    combox datagrid重复请求问题
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5281999.html
Copyright © 2011-2022 走看看