Pagini recente » Cod sursa (job #1048071) | Cod sursa (job #2392391) | Cod sursa (job #53779) | Cod sursa (job #353407) | Cod sursa (job #491674)
Cod sursa(job #491674)
# include <cstdio>
float n,k,s,p[30],pr;
int v[30],val[30];
void bkt (int niv)
{
if (niv==k)
{
pr=1;
for (int i=1;i<=n;i++)
if (v[i])
pr*=p[i];
s+=pr;
}
else
for (int j=(val[niv-1]+1);j<=n;j++)
if(!v[j]&& j>=(val[niv-1]+1))
{
v[j]=1;
val[niv]=j;
bkt(niv+1);
v[j]=0;
}
}
int main ()
{
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
scanf ("%f%f",&n,&k);
for (int i=1;i<=n;i++)
scanf ("%f",&p[i]);
bkt (0);
for (int i=(k+1); i<=n;i++)
s/=i;
printf ("%f",s);
return 0;
}