Cod sursa(job #3232766)

Utilizator S80P_ShadeslayerBadarau Andrei S80P_Shadeslayer Data 1 iunie 2024 12:24:53
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");

int N, K;
double v[30];
int step[30];
double s = 0;
int cnt = 0;
int folosit[30];
int poz[30];
double p = 1;

void rezolvare(int step)
{
   if(step > K)
   {
       p = 1;
       for(int i = 1; i <= K; i++)
       {
           p = p*v[poz[i]];
       }
       s = s + p;
       cnt++;
       return;
   }

    for(int i = 0; i < N; i++)
    {
        if(folosit[i] == 0)
        {
            poz[step] = i;
            folosit[i] = 1;
            rezolvare(step + 1);
            folosit[i] = 0;
        }

    }

}


int main()
{

    fin >> N >> K;
    for(int i = 0; i < N; i++)
   {
       cin >> v[i];
   }
   rezolvare(1);
   fout << fixed << setprecision(9);
   fout << s / cnt;

    return 0;

}