Pagini recente » Cod sursa (job #827383) | Cod sursa (job #246793) | Cod sursa (job #2570634) | Cod sursa (job #2082370) | Cod sursa (job #751913)
Cod sursa(job #751913)
#include<fstream>
using namespace std;
#include<stdio.h>
ifstream fcin("dezastru.in");
FILE *fcout=fopen("dezastru.out","w");
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);
fprintf(fcout,"%-.6f",s/nr);
return 0;
}