Pagini recente » Cod sursa (job #87980) | Cod sursa (job #992070) | Cod sursa (job #2854803) | Cod sursa (job #2470890) | Cod sursa (job #1820636)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int i,j,n,k,st[35],prob=1;
double sum=0,v[35];
inline void bktr(int val,int p,double pr)
{
st[p]=val;
if(p==k)
{
sum=sum+pr;
}
else
{
for(int i=1;i<=n;i++)
{
int ok=1;
for(int j=1;j<=p;j++)
if(i==st[j])
ok=0;
if(ok==1)
{
bktr(i,p+1,pr*v[i]);
}
}
}
}
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>v[i];
prob=prob*i;
}
bktr(0,0,1);
g<<fixed<<setprecision(6)<<(sum/prob);
}