Codeforces - 77B - Falling Anvils - 几何概型

https://codeforc.es/contest/77/problem/B

用求根公式得到:
\(p-4q\geq0\)

换成熟悉的元:
\(y-4x\geq0\)

其中:
\(x:[-b,b],\;y:[0,a]\)

那么画个图就发现其实就要算一下面积。

需要注意的是面积为0的情况下,就退化成线段上的几何概型甚至就一个点了。


草,printf里面%f不会自动把1转换成浮点数,会输出0。以后所有浮点都加上小数点!都第几次了?

void TestCase(int ti){
    double a,b;
    scanf("%lf%lf",&a,&b);
    if(fabs(a*b)<1e-8){
        if(fabs(a)<1e-8&&fabs(b)<1e-8){
            printf("%.10f\n",1.0);
        }
        else if(fabs(a)<1e-8){
            printf("%.10f\n",0.5);
        }
        else{
            printf("%.10f\n",1.0);
        }
    }
    else if(b>=a/4.0){
        printf("%.10f\n",(a+8.0*b)/(16.0*b));
    }
    else{
        printf("%.10f\n",(a-b)/a);
    }
}
posted @ 2019-06-18 19:52  韵意  阅读(181)  评论(0编辑  收藏  举报