Pagini recente » Cod sursa (job #1977085) | Cod sursa (job #1042561) | Cod sursa (job #1346455) | Cod sursa (job #1265495) | Cod sursa (job #1557455)
#include <cstdio>
#define nmax 26
FILE *fin = fopen("dezastru.in", "r"), *fout = fopen("dezastru.out", "w");
int n, m, nr;
float p[nmax], r;
int sol[nmax];
void sum()
{
int i;
float prod =1.0;
for(i = 1; i <= m; i++)
prod *= p[sol[i]];
r+= (prod*m);
nr += m;
}
float backt(int k)
{
int i;
for(i = 1; i <= n; i++)
{
sol[k]=i;
if(sol[k-1] < sol[k])
if(k == m)
sum();
else
backt(k+1);
}
}
int main()
{
fscanf(fin, "%d %d", &n, &m);
for( int i = 1; i <= n; i++)
fscanf(fin, "%f", &p[i]);
backt(1);
fprintf(fout,"%.6f", r/nr);
return 0;
}