Pagini recente » Rating Solomon Dragos (dra_solo) | Cod sursa (job #1940880) | Cod sursa (job #2472959) | Cod sursa (job #1486943)
#include <iostream>
#include <fstream>
using namespace std;
int a[25],n,j,k,ev,sw,i;
double b[25],s=0,nr=0,p=1;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
void init()
{
a[j]=0;
}
void succesor()
{
ev=0;
if(a[j]<n)
{
a[j]++;
ev=1;
}
}
void valid()
{
sw=1;
for(i=1;i<j;i++)
{
if(a[i]==a[j])
{
sw=0;
}
}
}
void bkt()
{
j=1;
init();
while(j>0)
{
do
{
succesor();
if(ev==1)
{
valid();
}
}
while(ev==1 && sw==0);
if(ev==1)
{
if(j==n)
{
nr++;
for(i=1;i<=k;i++)
{
p=p*b[a[i]];
}
s=s+p;
p=1;
}
else
{
j++;
init();
}
}
else
{
j--;
}
}
}
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>b[i];
}
bkt();
g<<s/nr;
return 0;
}