Pagini recente » Cod sursa (job #751907) | Cod sursa (job #487978) | Cod sursa (job #595628) | Cod sursa (job #637946) | Cod sursa (job #490702)
Cod sursa(job #490702)
#include<stdio.h>
double n,k,ve[27],ok=1,ss,nn,c[27],s=1;
int i,st[27];
double back(int p)
{
int i;
if(p==k+1)
{
for(i=1;i<=k;i++)
s=s*ve[st[i]];
ss+=s;
s=1;
nn++;
}else
{
for(i=1;i<=n;i++)
{
if(c[i]==0&&i>st[p-1]&&st[1]<=n-k+1)
{
if(st[1]>n-k+1)return 0;
c[i]=1;
st[p]=i;
back(p+1);
c[i]=0;
}
}
}
return 0;
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%lf%lf",&n,&k);
for(i=1;i<=n;i++)scanf("%lf",&ve[i]);
if(k==0)printf("100");
else
{
back(1);
ss=ss/nn;
printf("%lf ",ss);
}
return 0;
}