Pagini recente » Cod sursa (job #2028259) | Cod sursa (job #2901428) | Cod sursa (job #713351) | Cod sursa (job #2718440) | Cod sursa (job #204501)
Cod sursa(job #204501)
#include <cstdio>
int N,K,a[25];
bool v[26];
double p[26] , sol;
unsigned long long nf;
void calcProb()
{
double pd = 1.0;
for(int i = 0; i < K ; ++i)
pd *= p[a[i]]; //fprintf(stderr,"%lf ",pd);
sol += pd;
}
void aranj(int t)
{
if(t==K) nf++ , calcProb();
else
for(int i = 1; i<= N ; ++i)
if(!v[i])
{
a[t] = i; v[i] = 1; aranj(t+1); v[i] = 0;
}
}
void writeSol()
{
sol *= 1.0/nf;
printf("%lf",sol);
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&N,&K);
for(int i = 1; i <= N ; ++i)
scanf("%lf",&p[i]);
aranj(0);
writeSol();
return 0;
}