Pagini recente » Cod sursa (job #3351489) | Cod sursa (job #600173) | Cod sursa (job #929573) | Cod sursa (job #3351497) | Cod sursa (job #1126832)
#include <cstdio>
using namespace std;
FILE *f=fopen("dezastru.in","r");
double p[26],sum;
int n,k,caz;
void backtrack(int ultim,int nr,double prob)
{int i;
if (nr<=k) for (i=ultim+1;i<=n;i++) {i++;
i--;
backtrack(i,nr+1,prob*p[i]);
i--;
i++;}
else {sum+=prob;
caz++;
}
}
int main()
{int i;
fscanf(f,"%d %d",&n,&k);
for (i=1;i<=n;i++) fscanf(f,"%lf",&p[i]);
backtrack(0,1,1);
sum/=caz;
FILE *g=fopen("dezastru.out","w");
fprintf(g,"%.6lf",sum);
return 0;
}