Cod sursa(job #415728)

Utilizator Cristi09Cristi Cristi09 Data 11 martie 2010 19:35:27
Problema Dezastru Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
float v[26],suma=1.0,a[27][27];
int n,k,sol;

void read()
{
	FILE*f=fopen("dezastru.in","r");
	fscanf(f,"%d%d",&n,&k);
	int i=0;
	for(;i<n;++i)
		fscanf(f,"%f",&v[i]);
	fclose(f);
}
int fact(int x)
{
	int i,rez=1;
	for(i=2;i<=x;++i)
		rez*=i;
	return rez;
}
int main()
{
	read();
	
	int i,j;
	for(i=0;i<=n;++i)
	a[i][0]=1.0;
	sol=1;
	for(i=k+1;i<=n;++i)
		sol*=i;
	sol/=fact(n-k);
	for(i=1;i<=n;++i)
	{
		for(j=1;j<=i;++j)
		a[i][j]=a[i-1][j]+a[i-1][j-1]*v[i-1];
	}
	FILE*g=fopen("dezastru.out","w");
	fprintf(g,"%f\n",a[n][k]/sol);
	fclose(g);
	return 0;
}