soj2179Problem G:你是个好人

来源:互联网 发布:遗传算法解决优化问题 编辑:程序博客网 时间:2024/05/17 09:00

概率dp,第一次接触概率dp,。。。其实学了dp之后应该有了这种思想的。。。

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MAXN=105,MAXM=2005;double dp[MAXM][MAXN];int main(){    int T,n,m;    scanf("%d",&T);    while(T--){        scanf("%d %d",&n,&m);        if(m==0){            printf("%.6lf\n",0.0);            continue;        }        for(int i=0;i<MAXM;i++){            for(int j=0;j<MAXN;j++)                dp[i][j]=0.0;        }        dp[1][1]=1;        for(int i=2;i<=m;i++){            for(int j=1;j<=n;j++)                dp[i][j]=(i>=j?(dp[i-1][j]*j/n+dp[i-1][j-1]*(n-j+1)/n):0.0);        }        printf("%.6lf\n",dp[m][n]);    }    return 0;}


0 0
原创粉丝点击