Pagini recente » Cod sursa (job #693052) | Cod sursa (job #867130) | Cod sursa (job #1477676) | Cod sursa (job #370710) | Cod sursa (job #2108842)
#include <iostream>
#include <cstdio>
using namespace std;
int n, k, viz[30],nr=0, nrfin;
float a[30],p=1,s=0;
void backt(int x)
{
if (x==k+1)
{
s+=p;
nr++;
return;
}
for (int i=1; i<=n; i++)
{
if (viz[i]==0)
{
viz[i]=1;
p*=a[i];
backt(x+1);
p/=a[i];
viz[i]=0;
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d\n",&n, &k);
for (int i=1; i<=n; i++)
{
scanf("%f ",&a[i]);
}
backt(1);
printf("%.6f",s/nr);
return 0;
}