Pagini recente » Cod sursa (job #892050) | Cod sursa (job #2928180) | Cod sursa (job #1901582) | Cod sursa (job #2121526) | Cod sursa (job #414200)
Cod sursa(job #414200)
#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,ok;
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,ok=1;
for (i=1;i<a && ok;i++)
if(poz[a]<=poz[i])
c=0,ok=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;
}