Pagini recente » Cod sursa (job #2851558) | Cod sursa (job #1315859) | Cod sursa (job #2219922) | Cod sursa (job #1803873) | Cod sursa (job #165013)
Cod sursa(job #165013)
#include<stdio.h>
float v[30],r;
int sol[30],marcat[30],w;
int n,k;
void preluc()
{
int i;
float aux=1;
for(i=1; i<=k; i++)
aux*=v[sol[i]];
r+=aux;
w++;
}
void back(int x)
{
if(x==k+1)
{
preluc();
return;
}
int i;
for(i=1; i<=n; i++)
{
if(!marcat[i])
{
marcat[i]=1;
sol[x]=i;
back(x+1);
marcat[i]=0;
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int i;
scanf("%d%d",&n,&k);
for(i=1; i<=n; i++)
scanf("%f",&v[i]);
back(1);
r=r/w;
printf("%f\n",r);
return 0;
}