Pagini recente » Cod sursa (job #191292) | Cod sursa (job #2004818) | Cod sursa (job #186052) | Cod sursa (job #181524) | Cod sursa (job #256779)
Cod sursa(job #256779)
#include<fstream.h>
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,st[20],nr=0;
float s=0,p,v[26],rez;
void citire()
{
f>>n>>k;
for(int i=1;i<=n;i++)
f>>v[i];
}
int valid(int k)
{
for(int j=1;j<k;j++)
if(st[j]==st[k])
return 0;
return 1;
}
void lucru(int k)
{
p=1.000000;
for(int j=1;j<k;j++)
p=p*v[st[j]];
s=s+p;
nr++;
}
void back(int k)
{
for(int i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
if(k==n)
{
lucru(k);
}
else
back(k+1);
}
}
int main()
{
citire();
back(1);
g<<s/nr;
f.close();
g.close();
}