Cod sursa(job #1182761)
Utilizator | Data | 7 mai 2014 16:01:06 | |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,ras[30],frq[30],k,h;
double s,p,vec[30];
void calcul()
{p=1;
for (int i=1;i<=h;i++)
p*=vec[ras[i]];
s+=p;
}
void bak (int k)
{if (k-1==n) calcul();
else
for (int i=1;i<=n;i++)
{if (!frq[i])
{ras[k]=i; frq[i]=1;
bak(k+1);
frq[i]=0;
}
}
}
int main()
{f>>n>>h;
for (int i=1;i<=n;i++)
f>>vec[i];
bak(1);
g<<s/(n*h);
return 0;
}