Pagini recente » Atasamentele paginii oni2014_ziua_ix | Atasamentele paginii Poze preONI 2007 - deschidere | Cod sursa (job #1760376) | Cod sursa (job #2002613) | Cod sursa (job #1746652)
#include <iostream>
#include <cstdio>
#include <iomanip>
using namespace std;
int n, k, viz[30], sol[30], imp;
float a[30], rasp=0, raspAjutor;
void citire()
{
scanf("%d %d \n", &n, &k);
for(int i=1; i<=n; ++i)
scanf("%f ", &a[i]);
}
void rezolvare()
{
raspAjutor=1;
for(int i=1; i<=k; ++i)
raspAjutor*=a[sol[i]];
rasp+=raspAjutor;
}
void back(int m)
{
if(m>=k+1)
{
rezolvare();
imp++;
return;
}
for(int i=1; i<=n; ++i)
if(!viz[i])
{
sol[m]=i;
viz[i]=1;
back(m+1);
viz[i]=0;
}
}
int main()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
citire();
back(1);
printf("%f", rasp/imp);
return 0;
}