Pagini recente » Cod sursa (job #2790080) | Cod sursa (job #2097015) | Cod sursa (job #2883399) | Cod sursa (job #1441063) | Cod sursa (job #1552209)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int n,k;
float t[26];
int v[26];
float rs;
long nr_perm=1;
fstream f;
void back(int x)
{
int i;
if (x==k)
{
float prod=1;
for (i=1;i<=k;i++)
{
prod*=t[v[i]];
}
rs+=(prod/nr_perm)*2;
}
else
{
for (i=v[x]+1;i<=n;i++)
{
v[x+1]=i;
back(x+1);
}
}
}
main()
{
f.open("dezastru.in",ios::in);
f>>n>>k;
for (int i=1;i<=n;i++)
nr_perm*=i;
for (int i=1;i<=n;i++)
f>>t[i];
back(0);
f.close();
f.open("dezastru.out",ios::out);
f<<setprecision(6)<<rs;
}