Cod sursa(job #1895192)
| Utilizator | Data | 27 februarie 2017 20:32:57 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int N, K, P[26],nrp;
double pr[26],v,PR;
int main()
{
int i;
//citire
f>>N>>K;
for(i = 1; i <= N; i++)f>>pr[i];
//generare permutari
for(i = 1; i <= N; i++) P[i] = i;
do
{
v=1;
//calculam probab sa suprav primelor k atacuri
for(i=1;i<=K;i++)v=v*pr[P[i]];
PR=PR+v;
nrp++;
}
while(next_permutation(P + 1, P + N + 1));
//afisare
g.precision(6);
g<<fixed<<PR/nrp;
return 0;
}
