Cod sursa(job #39436)

Utilizator ctesctes tesc ctes Data 26 martie 2007 18:51:04
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iomanip.h>
#include<fstream.h>
#define input "dezastru.in"
#define output "dezastru.out"
#define Nmax 30
float p[Nmax],x[Nmax],proc=1,sum=0;
int n,k,i;

void btk(int y,int i,float t)
	  {
	  if (y==k)
		  sum+=t;
	  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;
	 ifstream fin(input);
	 ofstream fout(output);
	 fin>>n>>k;
	 for (i=0;i<n;i++)
		  fin>>x[i];
	 btk(0,0,1);
	 for(i=k+1;i<=n;i++)proc*=i;
	 sum/=proc;
	 fout<<setprecision(7)<<sum<<"\n";
	 return 0;
	 }