Pagini recente » Cod sursa (job #1338604) | Cod sursa (job #1547489) | Cod sursa (job #2811009) | Cod sursa (job #2477000) | Cod sursa (job #460858)
Cod sursa(job #460858)
#include <stdio.h>
#define DIMBACK 1<<5
int X[DIMBACK], viz[DIMBACK];
int N, K, NRCOMB;
double A[DIMBACK], PROB;
void back (int k){
int i;
if (k - 1 == K){
double aux = 1;
for (i=1; i<=K; i++)
aux *= A[ X[i] ];
PROB += aux;
NRCOMB++;
return;
}
for (i = 1; i<=N; i++){
if (!viz[i]){
X[k] = i;
viz[i] = 1;
back (k + 1);
viz[i] = 0;
}
}
}
int main (){
freopen ("dezastru.in", "r", stdin);
freopen ("dezastru.out", "w", stdout);
scanf ("%d %d\n", &N, &K);
for (int i=1; i<=N; i++) scanf ("%lf", &A[i]);
back (1);
printf ("%.6lf", PROB / (double)NRCOMB);
return 0;
}