Cod sursa(job #39493)

Utilizator skyelHighScore skyel Data 26 martie 2007 19:34:49
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<iomanip.h>
#include<stdio.h>
#define input "dezastru.in"
#define output "dezastru.out"
#define Nmax 30
float p[Nmax],x[Nmax],proc=0,sum=0;
int n,k,i;

void btk(int y,int i,float t)
	  {
	  if(y==k)
		  {
		  sum+=t;
		  proc++;
		  }
	  else
			{
			for (;i<n;i++)
				 {
				 if (p[i]==0)
					{
					p[i]++;
					t*=x[i];
					btk(y+1,i,t);
					t/=x[i];
					p[i]--;
					}
				 }
			}
	  }


int main()
	 {
	 int i;
	 freopen(input,"r",stdin);
	 freopen(output,"w",stdout);
	 scanf("%d %d",&n,&k);
	 for (i=0;i<n;i++)
		  scanf("%f",&x[i]);
	 btk(0,0,1);

	 sum/=proc;
	 printf("%f",sum);
	 return 0;
	 }