Pagini recente » Cod sursa (job #1820254) | Cod sursa (job #262363) | Cod sursa (job #2111075) | Cod sursa (job #2553275) | Cod sursa (job #264662)
Cod sursa(job #264662)
#include <stdio.h>
const int N = 26;
int n,k,nrs;
float pg=0;
float p[N],sol[N];
bool marcat[N];
void citire()
{
scanf ("%d %d",&n,&k);
for (int i = 1; i <= n; ++i)
scanf ("%f",&p [i]);
nrs = n * n - n;
}
void adaugare_probab_glob()
{
float pp = 1;
for (int i = 1; i <= k; ++i)
pp *= sol [i];
pg += pp/nrs;
}
void avansare(int poz)
{
for (int i = 1; i <= n; ++i)
if (!marcat[i])
{
marcat[i]=true;
sol [poz] = p [i];
if (poz == k)
adaugare_probab_glob();
else
avansare (poz+1);
marcat[i]=false;
}
}
int main()
{
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
citire();
avansare(1);
printf ("%f",pg);
return 0;
}