Cod sursa(job #178753)

Utilizator A-TeamKovago L si Albert I A-Team Data 15 aprilie 2008 08:32:09
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
//infoarena 50p. Killed by signal 11 (SIGSEGV)
   #include<stdio.h>  
   FILE *in=fopen("dezastru.in","r"),*out=fopen("dezastru.out","w");  
   int n,k,nr=0,i,st[30];  
   float s=0,v[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]];  
                 }  
           }  
           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;  
  }