hdu 4800 Josephina and RPG

简单dp

#include<cstdio>
#define maxn 10005
#include<cstring>
#include<algorithm>
using namespace std; double dp[][maxn];
double t[][];
int num[maxn]; int main()
{
int n,m;
while(scanf("%d",&m)!=EOF)
{
m=(m*(m-)*(m-)/);
for(int i=; i<m; i++)
{
for(int j=; j<m; j++)
{
scanf("%lf",&t[i][j]);
}
dp[i][]=;
}
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%d",&num[i]);
}
double ma1=,ma2;
for(int j=; j<=n; j++) //第j个敌人被第i个team打败;
{
ma2=-1.0;
for(int i=; i<m; i++)
{
if(i==num[j-])
dp[i][j]=ma1*t[num[j-]][num[j]];
else dp[i][j]=dp[i][j-]*t[i][num[j]];
if(dp[i][j]>ma2)ma2=dp[i][j];
}
ma1=ma2;
}
ma1=;
for(int i=; i<m; i++)
if(ma1<dp[i][n])ma1=dp[i][n];
printf("%lf\n",ma1);
}
return ;
}
上一篇:POJ 3701 概率DP


下一篇:Apache ab使用POST参数进行压力测试 (服务端为Django)