Cod sursa(job #438084)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 10 aprilie 2010 14:41:13
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>


double prob[64];
double pos=0.0;
int n, k, fact;


void bkt (int p,int init,double poz)
{
	if (p == k) 
	{
		pos += poz;
		fact ++;
		return ;
	} 
	for (int i=init; i<=n-k+p; i++)
		bkt (p+1, i+1, poz * prob[i]);
}

int main()
{
	FILE *f = fopen ("dezastru.in","r");
	FILE *g = fopen ("dezastru.out","w");
	
	int i;
	fscanf (f,"%d %d", &n, &k);
	for (i=0;i<n;i++)
		fscanf (f,"%lf", &prob[i]);
	
	bkt (0,0,1);
	fprintf (g,"%6lf", pos / fact);

	fclose(g);
	fclose(f);
	return 0;
}