Cod sursa(job #653826)

Utilizator maritimCristian Lambru maritim Data 28 decembrie 2011 23:26:52
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#include<fstream>
using namespace std;

FILE *f = fopen("dezastru.in","r");
FILE *g = fopen("dezastru.out","w");

#define MaxN 27

int N,K,nr,V[MaxN],X[MaxN] = {1};
float S,A[MaxN];

void back(int k,float s)
{
	if(k == K+1)
	{
		S += s;
		nr ++;
		
		return ;
	}
	
	for(int i=V[k-1]+1;i<=N;i++)
	{
		V[k] = i;
		back(k+1,s*A[i]);
	}
}

int main()
{
	fscanf(f,"%d%d",&N,&K);
	for(int i=1;i<=N;i++)
		fscanf(f,"%f",&A[i]);
	
	back(1,1);
	
	fprintf(g,"%.6f\n",S/nr);
	
	fclose(f);
	fclose(g);
	return 0;
}