Pagini recente » Cod sursa (job #1631431) | Cod sursa (job #1820468) | Cod sursa (job #1571871) | Cod sursa (job #819920) | Cod sursa (job #272047)
Cod sursa(job #272047)
#include<stdio.h>
#define IN "dezastru.in","r",stdin
#define OUT "dezastru.out","w",stdout
int n,T,nr;
double rez;
double prob[30],sol[30];
int marc[30];
void citire()
{
freopen(IN);
scanf("%d%d",&n,&T);
for(int i=1;i<=n;++i)
scanf("%lf",&prob[i]);
}
void back(int k)
{
if(k==T+1)
{
//for(int i=1;i<k;++i)
// printf("%d ",sol[i]);
// printf("\n");
double rez1=1;
for(int i=1;i<k;++i)
rez1*=sol[i];
rez+=rez1;
++nr;
return;
}
for(int i=1;i<=n;++i)
{
if(!marc[i])
{
marc[i]=1;
sol[k]=prob[i];
back(k+1);
marc[i]=0;
}
}
}
void afisare()
{
freopen(OUT);
printf("%.6lf\n",rez/nr);
}
int main()
{
citire();
back(1);
afisare();
return 0;
}