Pagini recente » Cod sursa (job #331371) | Simulare 02 | Cod sursa (job #211298) | Cod sursa (job #592808) | Cod sursa (job #2068632)
#include <fstream>
#include <iomanip>
#define NMAX 27
using namespace std;
const char inname[] = "dezastru.in";
const char outname[] = "dezastru.out";
ifstream fin(inname);
ofstream fout(outname);
void citire();
void perm(int);
double solutie();
int uz[NMAX], sol[NMAX], i, n, k;
double lov[NMAX], suma;
int main(){
citire();
perm(1);
for(i=1; i<=n; i++)
suma/=i;
fout << setprecision(6) << suma << '\n';
fin.close();
fout.close();
return 0;
}
void citire(){
int i;
fin >> n >> k;
for(i=1; i<=n; i++)
fin >> lov[i];
}
void perm(int k){
int i;
if(k == n+1)
suma += solutie();
else{
for(i=1; i<=n; i++)
if(uz[i] == 0){
sol[k] = i;
uz[i] = 1;
perm(k+1);
uz[i] = 0;
}
}
}
double solutie(){
int i;
double rez=1;
for(i=1; i<=k; i++)
rez *= lov[sol[i]];
return rez;
}