Pagini recente » Cod sursa (job #3151056) | Cod sursa (job #2010742) | Cod sursa (job #2498091) | Cod sursa (job #785814) | Cod sursa (job #690056)
Cod sursa(job #690056)
#include<cstdio>
float f[30],p[30],prob;
int n,e,k,i;
int v[30];
int evalid(int i) {
if (v[i] > n) return 0;
for(int j = 1; j < i; ++j)
if (v[j] == v[i]) return 0;
return 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("%f",&f[i]);
}
for(i=1;i<=28;++i){
p[i]=1;
}
int st = 1;
while(st > 0) {
v[st]++;
if(evalid(st)) {
if (st == n) {
++e;
for(i=1;i<=k;++i){
p[e]*=f[v[i]];
}
}
else
st++;
}
else
if (v[st] > n) {
v[st] = 0;
st--;
}
}
for(i=1;i<=e;++i){
prob+=p[i]/e;
}
printf("%f",prob);
return 0;
}