Pagini recente » Cod sursa (job #2808267) | Istoria paginii utilizator/szaszsami | Istoria paginii runda/oni_2017_11-12/clasament | Cod sursa (job #600925) | Cod sursa (job #1483654)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("dezastru.in");
ofstream out("dezastru.out");
const int maxn = 30;
int v[maxn];
int used[maxn];
double alive[maxn];
int k, n;
double probabilitate = 0;
double nr;
void back(int poz, double prod)
{
if(poz == k + 1)
{
++ nr;
probabilitate += prod;
}
for(int i = 1; i <= n; i++)
{
if(used[i] == 0)
{
used[i] = 1;
v[poz] = i;
back(poz + 1, prod * alive[i]);
used[i] = 0;
}
}
}
int main()
{
in >> n >> k;
for(int i = 1; i <= n; i++)
in >> alive[i];
back(1, 1);
out << probabilitate / nr;
return 0;
}