Pagini recente » Cod sursa (job #1654024) | Cod sursa (job #1740152) | Cod sursa (job #2065244) | Cod sursa (job #2030223) | Cod sursa (job #596556)
Cod sursa(job #596556)
#include<fstream>
using namespace std;
short n,k,v[27],uz[27];
double a[27],suma;
ofstream fout("dezastru.out");
void Prelucrare()
{
double p=1;
short i;
for(i=1;i<=k;i++)
p=p*a[v[i]];
suma+=p;
}
void Back(short pas)
{
short i,limita;
if(pas==k+1)
Prelucrare();
else
{
limita=n-k+pas;
for(i=v[pas-1]+1;i<=limita;i++)
{
if(uz[i]==0)
{
v[pas]=i;
uz[i]=1;
Back(pas+1);
uz[i]=0;
}
}
}
}
int main()
{
int i;
ifstream fin("dezastru.in");
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>a[i];
fin.close();
Back(1);
for(i=k+1;i<=n;i++)
suma=suma/i;
fout<<suma<<"\n";
fout.close();
return 0;
}