Cod sursa(job #1650653)

Utilizator BuggyxSosdian Bogdan Buggyx Data 11 martie 2016 19:39:42
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,nr;
float a[100],p=1,s;
int x[100],stiva[100];

void program();
void citire();
void backtrack(int k);

int main()
{
    citire();
    backtrack(1);
    g<<s/nr;

return 0;
}


void citire()
{
     f>>n>>k;

 for(int i=1;i<=n;i++)
     f>>a[i];
}

void backtrack(int k)
{
 int i;

 if(k>n)
   program();
 else
 {
   for(i=1;i<=n;i++)
   {
     if(stiva[i]==0)
     {
       stiva[i]=1;
       x[k]=i;
       backtrack(k+1);
       stiva[i]=0;
     }
   }
 }


}

void program()
{
 for(int i=1;i<=k;i++)
   {
     p*=a[x[i]];
   }
 s+=p;
 nr++;
 p=1;

}