Pagini recente » Cod sursa (job #2570451) | Cod sursa (job #167897) | Cod sursa (job #2169493) | Cod sursa (job #2703826) | Cod sursa (job #3134781)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
double P[26], sum;
int N, KK, x[26], nr;
void BT(int k, double prob)
{
if(k <= KK)
{
for(int i = x[k - 1] + 1; i <= N - KK + k; ++i)
{
x[k] = i;
BT(k + 1, prob * P[i]);
}
}
else
{
sum += prob;
++nr;
}
}
int main()
{
f >> N >> KK;
for(int i = 1; i <= N; ++i)
f >> P[i];
///x[0] = 0;
BT(1, 1.0);
g << fixed << setprecision(6) << sum / nr;
f.close();
g.close();
return 0;
}