Cod sursa(job #178132)

Utilizator A-TeamKovago L si Albert I A-Team Data 14 aprilie 2008 09:22:05
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
FILE *in=fopen("dezastru.in","r"),*out=fopen("dezastru.out","w");
int n,k,nr=0,i;
float s=0,v[30],st[30],mat[26][26];
void bktr(int p)
{
	for(float pval=st[p-1]+1;pval<=n;pval++)
	{
		st[p]=pval;
		if(p==k)
		{
			nr++;mat[nr][0]=1;
			for(int x=1;x<=k;x++)
			{
				mat[nr][0]*=v[st[x]];
//				mat[nr][x]=st[x];
			}
		}
		else bktr(p+1);
	}
}
int main()
{
	fscanf(in,"%d %d",&n,&k);
	for(i=1;i<=n;i++)
		fscanf(in,"%f ",&v[i]);
	for(i=1;i<=n+1;i++)
		st[i]=0;
	bktr(1);
	for(i=1;i<=nr;i++)
		s+=mat[i][0];
	fprintf(out,"%.6f",s/nr);
	fcloseall();
	return 0;
}