Pagini recente » Cod sursa (job #571901) | Cod sursa (job #15439) | Cod sursa (job #383293) | Cod sursa (job #2910423) | Cod sursa (job #414195)
Cod sursa(job #414195)
#include <cstdio>
int N,K;
float prob[26],suma,suma_t;
int poz[26],contor;
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d", &N, &K);
int i,a,c,s;
for (i=1;i<=N;i++)
scanf("%f", &prob[i]);
a=1;
poz[a]=0;
suma_t=1;
while (a>0)
{
do
{
if(poz[a]<N)
{
poz[a]++,c=1,s=1;
for (i=1;i<a;i++)
if(poz[a]<=poz[i])
c=0;
}
else
s=0;
} while (s && !c);
if (s)
if (a==K)
suma+=suma_t*prob[poz[a]],contor++;
else
suma_t*=prob[poz[a]],poz[++a]=poz[a-1];
else
suma_t/=prob[poz[--a]];
}
suma=suma/contor;
printf("%f", suma);
return 0;
}