Cod sursa(job #1399776)

Utilizator DobosDobos Paul Dobos Data 24 martie 2015 21:52:14
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int v[30],n,j,k;
float c[30],s = 0,p;
bool sol[30];
void calculeaza()
{
         p = 1;
     for(int d = 1 ; d <= k ;d++)
       p = p*c[v[d]];

      s += p;
}
void permutari(int l)
{
    if(l > k)
     j++,calculeaza();
     else
     for(int i = 1; i <= n;i++)
     {
         if(!sol[i])
         {
            sol[i] = true;
            v[l] = i;
            permutari(l+1);
            sol[i] = false;
            }
     }
}

int main()
{
    int i;
   f>>n>>k;
   for(i = 1; i <= n ;i++)
    f>>c[i];
   permutari(1);
     s = s/j;
   g<<float(s);
    return 0;
}