Pagini recente » Cod sursa (job #873456) | Cod sursa (job #908124) | Cod sursa (job #2318206) | Cod sursa (job #3222932) | Cod sursa (job #2159261)
# include <fstream>
# include <iostream>
# define DIM 32
using namespace std;
int n, k, r;
double p[DIM];
double s = 0;
int c = 0;
void back (double pp, int i, int l) {
if (l == k) {
s += pp;
++c;
return;
}
for (++i;i < n;++i) {
back(pp * p[i], i, l + 1);
}
}
int main() {
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
int inv = 0;
fin>>n>>k;
if (k > n - k) {
k = n - k;
inv = 1;
}
for(int i = 0; i < n; ++i) {
fin>>p[i];
if (inv) p[i] = 1 - p[i];
}
back(1, -1, 0);
double r = inv ? 1 - s/c : s/c;
fout<<r;
return 0;
}