Cod sursa(job #317547)

Utilizator aladinaladin aladinn aladin Data 23 mai 2009 21:23:39
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
   #include<stdio.h>    
   
  long comb(int n,int k)  
 {  
   long produs=1;  
   for(int i=1;i<=k;i++)  
     produs = produs * (n-i+1) / i;  
   return produs;  
 }  
   
   int main()    
    {int j,i,m,n;     
	 double a[30][30],p[30],q=0,w;
     freopen("dezastru.in","r",stdin);    
     freopen("dezastru.out","w",stdout);    
     scanf("%d%d",&n,&m);   
	 for (i=1;i<=n;i++) scanf("%lf",&p[i]);
     a[0][0]=1; a[1][0]=1;  
     for (i=1;i<=n;i++) 
	 {a[i][0]=1; 
	  for (j=1;j<=i;j++)
        if (j<=m)  a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
        else break;  
	 }
	 /*if (m>n / 2) q=fact(m+1,n) / fact(1,n-m)  ;
                      else q=fact(n-m+1,n) / fact(1,m);  
	 a[n][m]/=q;*/
	 printf("%.7lf",a[n][m]/ comb(n,m));  
	
     return 0;    
     }