就是根据概率公式入门算算。
#include<bits/stdc++.h> const int N=1010; int n,m,k; double p[N],f[N]; int main(){ int T;scanf("%d",&T); for(int yql=1;yql<=T;yql++){ scanf("%d%d%d",&n,&k,&m); for(int i=1;i<=n;i++)scanf("%lf",&p[i]); f[0]=0;f[1]=p[1]; for(int i=2;i<=m;i++){ f[i]=0; for(int j=1;j<=n;j++)f[i]+=p[j]*pow(f[i-1],j-1); } printf("Case #%d: %.7lf\n",yql,pow(f[m],k)); } return 0; }
时间: 2024-12-19 20:42:19