Pagini recente » Cod sursa (job #2795842) | Cod sursa (job #1853387) | Cod sursa (job #861492) | Cod sursa (job #2943068) | Cod sursa (job #751915)
Cod sursa(job #751915)
#include<fstream>
using namespace std;
#include<iomanip.h>
ifstream fcin("dezastru.in");
ofstream fcout("dezastru.out");
int n,v[26],k,u=1,nr=0;
float w[26],s=0;
void read()
{
fcin>>n>>k;
for(int i=1;i<=n;i++)
fcin>>w[i];
}
void print()
{
nr++;
double ceva=1;
for(int i=1;i<=k;i++)
ceva*=w[v[i]];
s+=ceva;
}
bool cont(int x)
{
for(int i=1;i<x;i++)
if(v[i]==v[x])
return 0;
return 1;
}
void back(int x)
{
if(x==k+1)
print();
else
for(int i=u;i<=n;i++)
{
v[x]=i;
u=i;
if(cont(x))
back(x+1);
}
}
int main()
{
read();
back(1);
fcout<<setprecision(6)<<s/nr;
return 0;
}