Pagini recente » Cod sursa (job #2830045) | Cod sursa (job #1452298) | Cod sursa (job #1570768) | Cod sursa (job #770964) | Cod sursa (job #214852)
Cod sursa(job #214852)
#include <stdio.h>
int n,m,pe;
int sol[30],uz[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 (!uz[i])
{
uz[i]=1;
sol[k]=i;
back (k+1);
uz[i]=0;
}
}
int main ()
{
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
read ();
back (1);
printf ("%.6f",sum/pe);
return 0;
}