您的位置:首页 > 其它

【HDOJ】1493 QQpet exploratory park

2014-11-24 23:00 302 查看
超水的动态规划。最后要对概率求Sigma。

#include <cstdio>
#include <cstring>
#include <cstdlib>

#define MAXN 61
#define MAXK 11

double dp[MAXK][MAXN];
double a[7];
int b[10] = {5, 12, 22, 29, 33, 38, 42, 46, 50, 55};

int main() {
int t;
int i, j, k, p;

#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif

scanf("%d", &t);
for (p=0; p<t; ++p) {
for (i=1; i<=6; ++i)
scanf("%lf", &a[i]);
for (i=0; i<MAXK; ++i)
for (j=0; j<MAXN; ++j)
dp[i][j] = 0.0;
dp[0][0] = 1.0;
for (i=1; i<MAXK; ++i) {
for (k=0; k<MAXN; ++k) {
for (j=1; j<=6; ++j) {
if (k+j < MAXN)
dp[i][k+j] += dp[i-1][k]*a[j];
else
break;
}
}
}
if (p)
printf("\n");
double sum;
for (i=0; i<10; ++i) {
sum = 0.0;
for (j=1; j<MAXK; ++j)
sum += dp[j][b[i]];
printf("%d: %.1lf%%\n", b[i], sum*100);
}
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: