Nu aveti permisiuni pentru a descarca fisierul grader_eval.cpp
Cod sursa(job #334754)
| Utilizator | Data | 27 iulie 2009 22:05:36 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<stdio.h>
#define NMAX 25
int n,k,i,j,nc,stop;
int c[NMAX];
float prob,pr,p[NMAX];
int main() {
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&k);
for(i=0;i<n;i++) scanf("%f",p+i);
for(i=0;i<k;i++) c[i]=i;
do {
++nc;
pr=1.0;
for(j=0;j<k;j++) pr*=p[c[j]];
prob+=pr;
i=k-1;
while((i>=0)&&(c[i]==i-k+n)) --i;
if(i<0) stop=1;
else {
++c[i];
for(j=i+1;j<k;j++) c[j]=c[j-1]+1;
}
} while(!stop);
prob/=nc;
printf("%f",prob);
return 0;
}
