#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#include <algorithm>
#include <complex>
using namespace std;
typedef complex<double> dcomp;
dcomp s[1000040];
int main ()
{
int T;scanf("%d",&T);
while(T--)
{
int kind,n,m;
scanf("%d%d%d",&kind,&m,&n);
if(!kind)
{
if(m!=1)
printf("%.8lf\n",(pow(m*1.0,n)-1)*1.0/(m-1));
else printf("%.8lf\n",n*1.0);
}
else
{
s[1]=dcomp(1,0);s[0]=dcomp(0,0);
for(int i=2;i<=n;++i)
s[i]=s[i-1]*dcomp((2*m-i)*1.0/(m-i+1),0)-s[i-2]*dcomp(m*1.0/(m-i+1),0)-dcomp(0,1.0*m/(m-i+1));
double ans=(imag(s[n])-imag(s[n-1]))/(real(s[n-1])-real(s[n]))+1;
printf("%.8lf\n",ans);
}
}
return 0;
}
hdu 4652 经典概率题+公式推导
最新推荐文章于 2021-06-22 21:24:15 发布