Pagini recente » Cod sursa (job #1309128) | Cod sursa (job #580689) | Cod sursa (job #680298) | Cod sursa (job #3210887)
#include <iostream>
#include <fstream>
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];
BT(1,1.0);
g<<fixed<<setprecision(6)<<sum/nr;
f.close();
g.close();
return 0;
}