Pagini recente » Cod sursa (job #2335686) | Cod sursa (job #333320) | Cod sursa (job #444403) | Cod sursa (job #792167) | Cod sursa (job #2751413)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
double v[26],rez=0;
int vc[26],n,m,nr=0;
void bkt(int ind,int cnt,double prod)
{
if(ind==n+1 || cnt==m)
{
if(cnt==m){
rez+=prod;
nr++;
}
}
else
{
for(int i=1;i<=n;i++)
{
if(vc[i]==0)
{
vc[i]++;
bkt(ind+1,cnt+1,prod*v[i]);
vc[i]--;
}
}
bkt(ind+1,cnt,prod);
}
}
int main()
{
int i;
cin>>n>>m;
for(i=1;i<=n;i++)
cin>>v[i];
bkt(1,0,1);
rez/=nr;
cout<<fixed<<setprecision(6)<<rez;
return 0;
}