给定实数(a, b(0le a, ble 10^6)),求方程(x^2+sqrt px +q)
有至少一个实根的概率,其中(pin [0, a], qin [-b, b]),(p, q)均是实数,在上述区间内等概率分布。
多组数据,(Tle 10000)。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define db double
signed main(){
int T; cin>>T;
db a,b;
while(T--){
cin>>a>>b;
if(b==0){ printf("1
"); continue; };
if(a==0){ printf("0.5
"); continue; }
db S;
if(4*b>=a)S=a*a/8.0;
else S=((a-4*b+a)*b)/2.0;
S+=a*b;
printf("%.10lf
",S/(a*b*2.0));
}
}