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

xiaoxiao2021-02-27  400

#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; }
转载请注明原文地址: https://www.6miu.com/read-4965.html

最新回复(0)