Cod sursa(job #1095335)

Utilizator roby2001Sirius roby2001 Data 30 ianuarie 2014 18:40:25
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
/*
          ~Keep It Simple!~
*/
   
#include <stdio.h>

#define MaxN 26

float v[MaxN],M[MaxN][MaxN],N,K,Pback,PDyn,cnt;
int st[MaxN];

void Afisare()
{
	float aux=1;
	for(int i=1; i<=K; i++)
		aux*=v[st[i]];
	Pback+=aux;
	cnt++;
}

void back(int k)
{
	int i;
	for(i = st[k-1] + 1; i<=N; i++)
	{
		st[k] = i;
		  if( k == K )
		  {
			  Afisare();
		  }
		  else if( k<K )
			  back(k+1);
	}
}

int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);

	scanf("%f%f",&N,&K);


	for(int i=1; i<=N; i++)
		scanf("%f",&v[i]);

	back(1);
	printf("%f",Pback/cnt);
}