Pagini recente » Cod sursa (job #632590) | Cod sursa (job #1527313) | Cod sursa (job #1155860) | Cod sursa (job #2354669) | Cod sursa (job #3196583)
#include <fstream>
#include <iomanip>
using namespace std;
const int NMAX = 26;
int N, K, nrsol, sol[NMAX];
double P[NMAX], rez;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
void BT(int k, double prod)
{
if(k <= K)
for (int i = sol[k - 1] + 1; i <= N - K + k; i++)
{
sol[k] = i;
BT(k + 1, prod * P[i]);
}
else
{
nrsol++;
rez += prod;
}
}
int main()
{
f >> N >> K;
for (int i = 1; i <= N; i++)
f >> P[i];
BT(1, 1.0);
g << fixed << setprecision(6) << rez / nrsol;
f.close();
g.close();
return 0;
}