题目大意:有k只麻球,每只只能活一天,临死前它会进行分娩。生i个麻球的概率为pi,给出m代。求m代之后所有麻球都死亡的概率为多少。。。
因为每只麻球是独立的,所以k只的概率就是p = pow(p[i],k);先需要求出每只的概率;每只的概率p[i] = p0+p1*f[i-1]^1……+p(n-1)*f[i-1]^(n-1).
1021 - TriblesTime limit: 3.000 seconds |
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <cmath>
using namespace std;
int main()
{
double f[1010];
double p[1010];
int n, k, m;
int i, j;
int T, _case = 0;
cin >>T;
while(T--)
{
cin >>n>>k>>m;
for(i = 0; i < n; i++)
cin >>p[i];
f[0] = 0;
f[1] = p[0];
for(i = 2; i <= m; i++)
{
f[i] = 0;
for(j = 0; j < n; j++)
f[i] += p[j]*pow(f[i-1],j);
}
cout <<"Case #"<<++_case<<": ";
printf("%.7lf\n",pow(f[m],k));
}
return 0;
}