Pagini recente » Cod sursa (job #2813392) | Cod sursa (job #933960) | Cod sursa (job #1120304) | Cod sursa (job #2295560) | Cod sursa (job #3225213)
#include <iostream>
#include <fstream>
#include <iomanip>
#define NMAX 25
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int a[NMAX], viz[NMAX];
int i, n, K, nrpermutari;
double v[NMAX], ans;
void bkt(int k)
{
int i, j;
double temp;
for (i = 1; i <= n; i++)
if (!viz[i])
{
viz[i] = 1;
a[k] = i;
if (k == n)
{
++nrpermutari;
temp = 1;
for (j = 1; j <= K; j++)
temp *= v[a[j]];
ans += temp;
}
else bkt(k+1);
viz[i] = 0;
}
}
int main()
{
f >> n >> K;
for (i = 1; i <= n; i++)
f >> v[i];
bkt(1);
g << fixed << setprecision(6) << ans/nrpermutari;
f.close();
g.close();
return 0;
}