Cod sursa(job #238475)

Utilizator DraStiKDragos Oprica DraStiK Data 2 ianuarie 2009 12:07:59
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
int n,m,pe;
int sol[30];
double a[30];
double sum;
void back (int k,int val,double s)
{
    int i;
    if (k==m+1)
    {
        sum+=s;
        ++pe;
    }    
    else
        for (i=val; i<=n-m+k; ++i)
            back (k+1,i+1,s*a[i]);
}   
int main ()
{
    freopen ("dezastru.in","r",stdin);    
    int i;
    scanf ("%d%d",&n,&m);
    for (i=1; i<=n; ++i)
        scanf ("%lf",&a[i]);
    fclose(stdin);
    back (1,1,1);
    freopen ("dezastru.out","w",stdout);
    printf ("%.6lf",sum/pe);
    fclose(stdout);
    return 0;
}