Cod sursa(job #39557)

Utilizator me_andyAvramescu Andrei me_andy Data 26 martie 2007 20:25:42
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>

  float a[30],suma,c;
  int n,sol[10000],k1;

void back(int k)
{
 int i,q;
 float s;
 if(k<k1+1)
  for(i=sol[k-1]+1;i<=n;i++)
  {
	sol[k]=i;
	back(k+1);
  }
  else
 {
  s=1;
 for(q=1;q<=k1;q++)
	s=s*a[sol[q]];
  suma=suma+s/c;
  suma=suma+s/c;
 }
 return;
}

int main()
{
 FILE *f,*g;
 f=fopen("dezastru.in","r");
 g=fopen("dezastru.out","w");
 int i;
 fscanf(f,"%d",&n);
 fscanf(f,"%d",&k1);
 for(i=1;i<=n;i++)
  fscanf(f,"%f",&a[i]);
  sol[1]=1;
	c=1;
  for(i=1;i<=n;i++)
  c=c*i;
  back(1);
  fprintf(g,"%7.6f",suma);

  fcloseall();
	return 0;
}