Pagini recente » Cod sursa (job #1281637) | Cod sursa (job #1634095) | Cod sursa (job #1689064) | Cod sursa (job #1661784) | Cod sursa (job #810902)
Cod sursa(job #810902)
#include <stdio.h>
using namespace std;
int x[26],n,k;
double p[26],s,pr=1;
void citire () {
int i;
FILE *f;
f=fopen("dezastru.in","r");
fscanf(f,"%d%d",&n,&k);
for (i=1;i<=n;i++)
fscanf(f,"%lf",&p[i]);
fclose(f);
}
void solutie() {
s+=pr;
}
void back (int vf) {
int i;
for (i=x[vf-1]+1;i<=n-k+vf;i++) {
x[vf]=i;
pr=pr*p[x[vf]];
if (vf==k) solutie();
else back(vf+1);
pr=pr/p[x[vf]];
}
}
int main () {
citire();
back(1);
unsigned long v=1;
int i;
for (i=3;i<=n;i++) v*=i;
FILE *g=fopen("dezastru.out","w");
fprintf(g,"%.6lf",s/v);
fclose(g);
return 0;
}