Cod sursa(job #1218081)

Utilizator azkabancont-vechi azkaban Data 9 august 2014 14:31:11
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
#include <cstring>
using namespace std;
void openIOFiles()
{
 freopen("dezastru.in","r",stdin);
 freopen("dezastru.out","w",stdout);
}
float A[30],produs(1),sol(0),fact(1);
int i,j,n,St[30],p;
void combinari(int k)
{
 int i;
 if (k-1==p){
             produs=1;
             for (i=1;i<=p;++i) produs*=A[St[i]];
             sol+=produs;
           }
       else 
         for (i=St[k-1]+1;i<=n;++i){
                                    St[k]=i;
                                    combinari(k+1);
                                    }
}
int main()
{
 openIOFiles();
 scanf("%d%d",&n,&p);
 for (i=1;i<=n;++i) scanf("%f",&A[i]);
 combinari(1);
 float aux=p;
 for (i=1;i<=n;++i) fact*=i;
 printf("%f",sol*2/fact);
 return 0;
}