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);
}
}
05-17 23:33