Cod sursa(job #248067)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 24 ianuarie 2009 19:36:36
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
int x;
short int i,n,k,sol[26];
double s,a[26];
void back(int m){
	short int i;
	double p;
    if(m==k+1){
        p=1;
		for(i=1; i<m; ++i)
			p*=a[sol[i]];
        s+=p;
        ++x;}
    else
        for(i=1; i<=n; ++i)
            if(i>sol[m-1]){
                sol[m]=i;
                back(m+1);}}
int main(){
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d%d",&n,&k);
    for(i=1; i<=n; ++i)
		scanf("%lf",&a[i]);
    back(1);
    printf("%lf",s/x);
    return 0;}