Pagini recente » Cod sursa (job #699355) | Cod sursa (job #2152963) | Cod sursa (job #2932160) | Cod sursa (job #1486488) | Cod sursa (job #164367)
Cod sursa(job #164367)
#include <fstream.h>
#include <stdio.h>
int sol[30],n,kk;
long nr;
double fact,fact2;
double v[30],st;
int cond(int a){
for (int i=0;i<a;i++)
if (sol[i]==sol[a]) return 0;
return 1;
}
double calc(int a){
double p=1;
for (int i=1;i<=a;i++)
p*=v[sol[i]-1];
return p;
}
int main(){
ifstream f("dezastru.in");
freopen("dezastru.out","w",stdout);
int k;
f>>n;
int i;
f>>kk;
for ( i=0;i<n;i++) f>>v[i];
k=1;sol[k]=1;
while (k>0){
if (sol[k]>n-(kk-k)) sol[--k]++;
else if (k==kk) {st+=calc(k);sol[k]++;nr++;}
else if (k<n) {sol[++k]=sol[k-1]+1;}
}
st/=nr;
printf("%lf",st);
f.close();
return 0;
}