Pagini recente » Cod sursa (job #406457) | Cod sursa (job #1612211) | Cod sursa (job #245421) | Cod sursa (job #2231986) | Cod sursa (job #414188)
Cod sursa(job #414188)
#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_t*=prob[poz[a]];
suma+=suma_t;
contor++;
suma_t/=prob[poz[a]];
}
else
{
suma_t*=prob[poz[a]];
poz[++a]=0;
}
else
{
a--;
suma_t/=prob[poz[a]];
}
}
suma=suma/contor;
printf("%f", suma);
return 0;
}