Pagini recente » Cod sursa (job #1124588) | Cod sursa (job #542010) | Cod sursa (job #1746788) | Cod sursa (job #350476) | Cod sursa (job #1325059)
#include <iostream>
#include <fstream>
using namespace std;
double dez[26];
int locatii[26];
int n,k;
int total;
double valoare;
void generarepermutari(int i);
void verificaretemporara(int d)
{
int incluse[26],i;
for (i=1;i<=25;i++)
{
incluse[i]=0;
}
for (i=1;i<d;i++)
{
incluse[locatii[i]]=1;
}
for (i=1;i<=k;i++)
{
if (incluse[i]==0)
{
locatii[d]=i;
generarepermutari(d+1);
}
}
}
void generarepermutari(int i)
{
int j;
double acum=1.0;
if (i<=n)
{
for (j=1;j<=k;j++)
{
verificaretemporara(i);
}
}
else
{
total++;
for (i=1;i<=n;i++)
{
acum*=dez[locatii[i]];
}
valoare+=acum;
}
}
int main()
{
ifstream in("dezastru.in");
ofstream out("dezastru.out");
int i;
in>>k;
in>>n;
for (i=1;i<=k;i++)
{
in>>dez[i];
}
generarepermutari(1);
valoare/=total;
out<<valoare;
}