https://codeforc.es/contest/77/problem/B
用求根公式得到:
(p-4qgeq0)
换成熟悉的元:
(y-4xgeq0)
其中:
(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
",1.0);
}
else if(fabs(a)<1e-8){
printf("%.10f
",0.5);
}
else{
printf("%.10f
",1.0);
}
}
else if(b>=a/4.0){
printf("%.10f
",(a+8.0*b)/(16.0*b));
}
else{
printf("%.10f
",(a-b)/a);
}
}