Pagini recente » Cod sursa (job #2658336) | Cod sursa (job #600229) | Cod sursa (job #53457) | Cod sursa (job #1250781) | Cod sursa (job #558019)
Cod sursa(job #558019)
#include<fstream>
using namespace std;
ifstream fi("dezastru.in");
ofstream fo("dezastru.out");
int sol[10],n,used[10],k,cate;
double a[30],s=0;
void calc()
{
double p=1;
for(int i=1; i<=k; i++)
{
p=p*a[sol[i]];
}
p=(double)p/cate;
s+=p;
}
void back(int pas)
{
if(pas>n)
{
calc();
return;
}
else
for(int i=1; i<=n; i++)
{
if(!used[i])
{
sol[pas]=i;
used[i]=1;
back(pas+1);
used[i]=0;
}
}
}
int main()
{
fi>>n>>k;
cate=1;
for(int i=1; i<=n; i++)
{
fi>>a[i];
cate=cate*i;
}
back(1);
fo<<s;
fi.close();
fo.close();
return 0;
}