Pagini recente » Cod sursa (job #3208321) | Cod sursa (job #2980965) | Cod sursa (job #1717020) | Cod sursa (job #1075802) | Cod sursa (job #1233440)
#include <fstream>
using namespace std;
ifstream is("dezastru.in");
ofstream os("dezastru.out");
int n, p;
int a[26], b[26];
float c[26];
float fin;
float inm;
int cnt;
void Calcul();
void aranjamente(int k);
int main()
{
is >> n >> p;
for( int i = 1; i <= n; ++i )
is >> c[i];
aranjamente(1);
os << fin / cnt;
is.close();
os.close();
return 0;
}
void Calcul()
{
cnt++;
inm = 1;
for(int i = 1; i <= p; ++i)
inm *= c[a[i]];
fin += inm;
}
void aranjamente(int k)
{
if ( k == p + 1)
Calcul();
else
{
for(int i = 1; i <= n; ++i)
{
if(!b[i])
{
a[k] = i;
b[i] = 1;
aranjamente(k + 1);
b[i] = 0;
}
}
}
}