Pagini recente » Cod sursa (job #2330233) | Cod sursa (job #3131866) | Cod sursa (job #725403) | Cod sursa (job #1451308) | Cod sursa (job #2068713)
#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, m;
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 >> m;
for(i=1; i<=n; i++)
fin >> lov[i];
}
void perm(int k){
int i;
if(k==m+1)
suma+=solutie();
else{
for(i=1; i<=n; i++)
if(uz[i] == 0){
uz[i] = 1;
sol[k] = i;
perm(k+1);
uz[i] = 0;
}
}
}
double solutie(){
int i;
double rez=1;
for(i=1; i<=m; i++)
rez *= lov[sol[i]];
return rez;
}