Pagini recente » Cod sursa (job #1786845) | Cod sursa (job #463914) | Cod sursa (job #2068792) | Cod sursa (job #1997340) | Cod sursa (job #830095)
Cod sursa(job #830095)
#include <fstream>
#include <iomanip>
using namespace std;
int x[26],viz[26],n,k,nr;
float p[26],s;
void citire () {
int i;
ifstream f ("dezastru.in");
f >> n >> k;
for (i=1;i<=n;i++)
f >> p[i];
}
void actualizare (float pr) {
s+=2*pr*p[x[k]]; }
inline void back (int vf, float pr) {
int i;
for (i=x[vf-1]+1;i<=n-k+vf;i++)
{
x[vf]=i;
if (vf==k) {
nr+=2;
actualizare(pr);
}
else back(vf+1, pr*p[x[vf]]);
}
}
int main () {
citire();
back(1,1);
ofstream g ("dezastru.out");
g << fixed;
g <<setprecision(6)<<s/nr;
return 0;
}