Pagini recente » Cod sursa (job #2361252) | Cod sursa (job #1666546) | Cod sursa (job #899232) | Cod sursa (job #1320845) | Cod sursa (job #1133984)
#include <fstream>
#include <iomanip>
#define DIM 26
using namespace std;
short n,x,sol[DIM];
int nr;
float a[DIM],s,sansa;
void backt(int k)
{
if(k>x)
{
float p=1;
for(int i=1;i<k;++i)
p*=a[sol[i]];
s+=p;
++nr;
}
else
for(int i=1;i<=n;++i)
{
bool ok=1;
for(int j=1;j<k;++j)
if(sol[j]==i) {ok=0;break;}
if(ok)
{
sol[k]=i;
backt(k+1);
}
}
}
int main()
{
ifstream f("dezastru.in");
ofstream g("dezastru.out");
f>>n>>x;
for(int i=1;i<=n;++i)
f>>a[i];
backt(1);
sansa=(float)s/nr;
int y=(int)sansa,cifre=0;
while(y!=0)
{
++cifre;
y=y/10;
}
g<<showpoint<<setprecision(cifre+6)<<sansa<<'\n';
f.close();
g.close();
return 0;
}