Pagini recente » Cod sursa (job #2705140) | Cod sursa (job #2681162) | Cod sursa (job #442160) | Cod sursa (job #1308888) | Cod sursa (job #528595)
Cod sursa(job #528595)
#include <fstream>
#include <iomanip>
using namespace std;
int n,k,A[30];
int c,i;
double P[30];
double C[30],rez;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
void bt(int v)
{
int ok,j,z;
double pr;
if (v==n)
{
c++;
pr=P[A[1]];
for (i=2;i<=k;i++)
pr*=P[A[i]];
C[c]=pr;
}
else
{
for (z=1;z<=n;z++)
{
ok=0;
for (j=1;j<=v;j++)
if (A[j]==z)
{
ok=1;
break;
}
if (ok==0)
{
A[v+1]=z;
bt(v+1);
}
}
}
}
int main()
{
f>>n>>k;
for (i=1;i<=n;i++)
f>>P[i];
c=0;
bt(0);
for (i=1;i<=c;i++)
rez+=C[i]/c;
g<<setprecision(6);
g<<rez;
f.close();
g.close();
return 0;
}