Pagini recente » Cod sursa (job #556046) | Cod sursa (job #870904) | Cod sursa (job #1219949) | Cod sursa (job #2079850) | Cod sursa (job #214847)
Cod sursa(job #214847)
#include <stdio.h>
int n,m,pe;
int sol[30];
float a[30];
float sum;
void read ()
{
int i;
scanf ("%d%d",&n,&m);
for (i=1; i<=n; ++i)
scanf ("%f",&a[i]);
}
int check (int nr,int k)
{
int i;
for (i=1; i<k; ++i)
if (sol[i]==nr)
return 0;
return 1;
}
void back (int k)
{
int i;
float p=1;
if (k==m+1)
{
for (i=1; i<=m; ++i)
p*=a[sol[i]];
sum+=p;
++pe;
}
else
for (i=1; i<=n; ++i)
if (check (i,k))
{
sol[k]=i;
back (k+1);
}
}
int main ()
{
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
read ();
back (1);
printf ("%.6f",sum/pe);
return 0;
}