Pagini recente » Cod sursa (job #2069271) | Cod sursa (job #741092) | Cod sursa (job #2425720) | Cod sursa (job #1448764) | Cod sursa (job #678416)
Cod sursa(job #678416)
#include <stdio.h>
using namespace std;
int n,k,st[26],P;
float a[26],s;
bool verif(int p)
{
for (int i=1;i<p;i++)
for(int j=i+1;j<=p;j++)
if (st[i]==st[j])
return false;
return true;
}
void calc()
{
float pr=1;
for(int i=1;i<=k;i++)
pr*=a[st[i]];
s+=pr;
P++;
}
void back(int p)
{
for(int i=1;i<=n;i++)
{
st[p]=i;
if(verif(p))
if(p==n)
calc();
else
back(p+1);
}
}
int main()
{
P=0;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%f",&a[i]);
back(1);
printf("%f",s/P);
return 0;
}