hdu 3853 LOOPS 概率DP

简单的概率DP入门题

代码如下:

 #include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstring>
#include<vector>
#define ll __int64
#define pi acos(-1.0)
#define MAX 1003
using namespace std;
struct point
{
double c,b,r;
}p[MAX][MAX];
double dp[MAX][MAX];
int main(){
int n,m,i,j;
while(scanf("%d%d",&n,&m)!=EOF){
for(i=;i<=n;i++)
for(j=;j<=m;j++)
scanf("%lf%lf%lf",&p[i][j].c,&p[i][j].r,&p[i][j].b);
dp[n][m]=0.0;
for(i=n;i>=;i--)
for(j=m;j>=;j--){
if(i==n&&j==m) continue;
if(fabs(-p[i][j].c)<1e-) continue;
dp[i][j]=(p[i][j].r*dp[i][j+]+p[i][j].b*dp[i+][j]+)/(-p[i][j].c);
}
printf("%.3lf\n",dp[][]);
}
return ;
}
上一篇:HDU 3853LOOPS(简单概率DP)


下一篇:hdu 3853 LOOPS (概率dp 逆推求期望)