Pagini recente » Cod sursa (job #1350292) | Cod sursa (job #1957170) | Cod sursa (job #2100787) | Cod sursa (job #1606061) | Cod sursa (job #1844760)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("dezastru.in");
ofstream out ("dezastru.out");
int n ,h;
double s = 1 ,ss = 0 ,sp = 0;
double sol[201];
double nr[201];
bool vis[201];
void explore(int k ,int y) {
if(k == h) {
s = 1;
for(int i = 0; i < h; i++) {
s = s * sol[i];
}
ss += s;
sp++;
} else{
for(int i = y + 1; i <= n; i++) {
if(vis[i] == 0) {
sol[k] = nr[i];
vis[i] = 1;
explore(k+1 ,i);
vis[i] = 0;
}
}
}
}
int main()
{
in>>n>>h;
for(int i = 1 ; i <= n ;i++){
in>>nr[i];
}
explore(0,0);
out<<ss/sp;
return 0;
}