Cod sursa(job #174353)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 8 aprilie 2008 19:58:44
Problema Dezastru Scor 80
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#include <limits.h>
#define N 30
char n,m;
char sol[N];
float v[N];
float rez;
unsigned int nr;
void back(char k, float x){
    char i;
	if(k==m+1){
		rez+=x;
        ++nr;
		return;
    }
	for(i=sol[k-1]+1;i<=n-m+k;++i){
		sol[k]=i;
		back(k+1,x*v[i]);
	}
}
int main(){
    char i;
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;++i)
        scanf("%f",&v[i]);
    back(1,1.0);
    printf("%f",rez/(nr*1.0));
    return 0;
}