山东省第四届ACM大学生程序设计竞赛 The number of steps(概率dp&全期望)

来源:互联网 发布:守望先锋游戏数据查询 编辑:程序博客网 时间:2024/06/08 11:59
#include <stdio.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;double dp[109][109];int main(){    int n;    while(~scanf("%d",&n)&&n)    {       double a,b,c,d,e;       scanf("%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e);        if(n==1)        {            printf("0.00\n");            continue;        }        dp[n][1]=0;        for(int i=2; i<=n; i++)            dp[n][i]=dp[n][i-1]+1;        for(int i=n-1; i>=1; i--)        {            int j=1;            dp[i][j]=dp[i+1][j]*a+dp[i+1][j+1]*b+1;            for(j=2; j<=i; j++)            {                dp[i][j]=(dp[i][j-1]*e+dp[i+1][j]*c+dp[i+1][j+1]*d+1.0);            }        }        printf("%.2lf\n",dp[1][1]);    }    return 0;}

0 0
原创粉丝点击