该博客
http://blog.csdn.net/wo_hs/article/details/24521625 的面经中
一个射击运动员,他射中1-10环的概率都是0.1,不会脱靶,问题是他射击10次总环数是80环的概率是多少? DP
不出了,简单题,直接上代码:
#include <cstdio>
#include <cstdlib>
#include <algorithm>
int main(){
double f[100][100];
int i, j, k;
for( i = 1;i <= 10;i++)
f[1][i] = 0.1;
for( i = 2;i <= 10;i++){
for( j = i;j <= i*10 ;j++){
f[i][j] = 0;
for( k = i-1;k <= min(10*(i-1),j-1); k++)
f[i][j] += (f[i-1][k]*f[1][j-k]);
printf("%d %d %.16lf\n",i,j,f[i][j]);
}
}
printf("%.16lf",f[10][80]);
system("pause");
}