Cod sursa(job #217867)

Utilizator yippeeErja Eduard yippee Data 30 octombrie 2008 18:04:45
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
int n,m,p,sol[20],nr;
float z,a[50],prob;

void afis()
{
    int i,t,j;
    float imp;
    t=1;
    prob=0;
    for(j=0;j<nr;j++)
    {
        for(i=0;i<m;i++)
          t=t*a[sol[i]];
      imp=t/nr;
      prob=prob+imp;

    }
}

void back(int k)
{
    if(k>=m)
    {
        afis();
        return;
    }
    else
     for(int i=sol[k-1]+1;i<=n;i++)
     {
         sol[k]=i;
         nr++;
         back(k+1);

     }


}


int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d %d", &n,&m);
    for(int i=0;i<n;i++)
    {
        scanf("%f", &z);
        a[i]=z;
    }
    back(0);
     printf("%f", prob);
    return 0;
}