除了那个概率有点长以外没有什么难的
(f_i=p*f_{i+1}+(1-p)*f_i+1=frac{f_{i+1}+1}{p})
其中(p=frac{2*(n-1)*i}{n*(n-1)})
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int t;
int n;
double k;
double dp[100001];
int main(){
scanf("%d",&t);
while(t--){
scanf("%d%lf",&n,&k);
memset(dp,0,sizeof(dp));
for(int i=n-1;i;--i){
double Aimee=2.0*(n-i)*i/n/(n-1)*k;
dp[i]=(dp[i+1]*Aimee+1)/Aimee;
}
printf("%.3lf
",dp[1]);
}
return 0;
}