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);
}
}