UVA 11021

给定k个虫子,每个虫子会在出生当天死亡,且在死亡之前产生若干个后代,同时给出产生i个后代的概率Pi

求问在m天内,所有虫子全部死亡的概率。

转化命题,所有虫子全部死亡,即初始的每一个虫子的后代全部死亡,所以只要考虑单个虫子即可。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1000+10,maxm=1000+10;
int n,k,m;
double P[maxn],f[maxm];
int main()
{freopen("t.txt","r",stdin);
 int T;
 scanf("%d",&T);
 for(int kase=1;kase<=T;kase++)
 	{
 	 scanf("%d%d%d",&n,&k,&m);
 	 for(int i=0;i<n;i++)scanf("%lf",&P[i]);
 	 f[0]=0;f[1]=P[0];
 	 for(int i=2;i<=m;i++)
 	 	{
 	 	 f[i]=0;
		 for(int j=0;j<n;j++)
		 	{
		 	 f[i]+=P[j]*pow(f[i-1],j);	
			}	
		}
	 printf("Case #%d: %.7lf\n",kase,pow(f[m],k));
	}
 return 0;
 } 
 
 
 
 
 
 
 

  

posted on 2017-07-26 16:44  Bingsen  阅读(124)  评论(0编辑  收藏  举报