Pagini recente » Cod sursa (job #1008556) | Cod sursa (job #837694) | Cod sursa (job #2134369) | Cod sursa (job #2867555) | Cod sursa (job #393028)
Cod sursa(job #393028)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
void Back(int p);
void Write(int p);
bool OK(int p);
int n, k, l, x[26], nrsol;
long double a[26], sumfinal;
int main()
{
fin >> n >> k;
for ( int i = 1; i <= n; i++)
fin >> a[i];
Back(1);
fout<<sumfinal/nrsol;
fin.close();
fout.close();
}
void Back(int p)
{
if ( p > n )
{
Write(p-1);
return;
}
for ( int i = 1; i <= n; ++i)
{
x[p] = i;
if ( OK(p) )
Back(p+1);
}
}
void Write(int p)
{
nrsol++;
long double prod = 1;
for ( int i = 1; i <= 2; ++i)
prod*=a[x[i]];
sumfinal+=prod;
}
bool OK(int p)
{
for ( int i = 1; i < p; i++)
if ( x[i] == x[p] )
return false;
return true;
}