Pagini recente » Cod sursa (job #1669130) | Cod sursa (job #1973547) | Cod sursa (job #2582729) | Cod sursa (job #3135467) | Cod sursa (job #1015039)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f ("dezastru.in");
ofstream g ("dezastru.out");
int n, m, t;
char sol[30];
float probabilitate;
float v[30];
void citeste ()
{
f>>n>>m;
for (int i=1; i<=n; i++) f>>v[i];
}
void adauga (float valoare)
{
t++;
// float p=1;
//for (int i=1; i<=m; i++) p=p*v[sol[i]];
// probabilitate+=p;
probabilitate+=valoare;
}
void genereaza (int k, float valoare)
{
if (k==m+1) adauga (valoare);
else
{
for (int i=1; i<=n; i++) if (!sol[i]) {sol[i]=1; genereaza (k+1, valoare*v[i]); sol[i]=0;}
}
}
int main ()
{
citeste ();
genereaza (1, 1);
probabilitate/=t*1.0;
g<<fixed<<setprecision(6)<<probabilitate<<'\n';
return 0;
}