Pagini recente » Cod sursa (job #2114415) | Cod sursa (job #1634149) | Cod sursa (job #548776) | Cod sursa (job #226862) | Cod sursa (job #1739000)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k,viz[26],x[26];
double v[26],prod,P;
unsigned long long p1;
int cont(int p)
{
return 1;
}
int solutie(int p)
{
if(p==n)
return 1;
return 0;
}
void afis(int p)
{
prod=1;
for(int i=1;i<=k;i++)
prod*=v[x[i]];
P+=prod;
}
void back(int p)
{
for(int i=1;i<=n;i++)
if(!viz[i])
{
x[p]=i;
viz[i]=1;
if(cont(p))
if(solutie(p))afis(p);
else
back(p+1);
viz[i]=0;
}
}
int main()
{
fin>>n>>k;
p1=1;
for(int i=1;i<=n;i++)
p1=p1*i;
for(int i=1;i<=n;i++)
fin>>v[i];
back(1);
fout<<P/p1;
return 0;
}