Cod sursa(job #38765)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 26 martie 2007 08:14:01
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
int n,k,i,j;
double a[26],pr[26][26],nf[26],p,sol;
int main()
{
	FILE *f,*g;
	f=fopen("dezastru.in","r");
	g=fopen("dezastru.out","w");
	fscanf(f,"%d%d",&n,&k);
	for(i=1;i<=n;i++)
	fscanf(f,"%lf",&a[i]);
	pr[1][1]=a[1];
	for(i=2;i<=n;i++)
	{ pr[i][i]=pr[i-1][i-1]*a[i];
	  pr[i][1]=pr[i-1][1]+a[i];}
	nf[0]=1,p=1;
	for(i=1;i<=n;i++)
	{nf[i]=nf[i-1]*p;p=p+1;}
	for(i=3;i<=n;i++)
	for(j=2;j<i;j++)
	pr[i][j]=pr[i-1][j]+a[i]*pr[i-1][j-1];
	sol=pr[n][k];
	sol=sol*nf[k];
	sol=sol/nf[n];
	fprintf(g,"%8.6lf\n",sol);
	fcloseall();
	return 0;
}