Cod sursa(job #174341)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 8 aprilie 2008 19:53:45
Problema Dezastru Scor 90
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#include <limits.h>
#define N 30
int n,m;
int sol[N];
float v[N];
float rez;
unsigned int nr;
void back(int k, float x){
    int 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(){
    int 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.0000);
    printf("%f",rez/(nr*1.0000));
    return 0;
}