Cod sursa(job #406857)

Utilizator mihai995mihai995 mihai995 Data 1 martie 2010 20:56:45
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
using namespace std;
double atac[64],pos=0.0;
int n,k,combinare[64][64];
ifstream f("dezastru.in");
ofstream o("dezastru.out");

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

int main()
{
	int i,j;
	f>>n>>k;
	for (i=0;i<n;i++)
		f>>atac[i];
	bkt(0,0,1);
	for (i=0;i<=n;i++)
	{
		combinare[i][0]=1;
		for (j=1;j<=i;j++)
			combinare[i][j]=combinare[i-1][j]+combinare[i-1][j-1];
	}
	o<<pos/combinare[n][k];
	return 0;
}