Cod sursa(job #259666)

Utilizator shnakoVlad Schnakovszki shnako Data 15 februarie 2009 17:23:44
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <stdio.h>
double s=0, f[26];
int n, x, k, st[20], o=0;

void back(int k, int l, double z)
	{
	if (k == x)
		{
		o++;
   	s += z;
		return;
		}
   for (int i=l+1;i<=n-x+k;i++)
		back( k + 1, i, z * f[i] );
}

int main(void)
{
freopen ("dezastru.in", "r", stdin);
freopen ("dezastru.out", "w", stdout);
scanf("%d%d", &n, &x);
for (register int i=1;i<=n;i++)
	scanf ("%f", &f[i]);
back(0, -1, 1);
printf ("%.6f", s/o);
return 0;
}