Cod sursa(job #2281091)

Utilizator ZappaManIosif Adrian-Mihai ZappaMan Data 11 noiembrie 2018 16:07:33
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <vector>

using namespace std;

const int NMAX = 9;

int N;

vector<bool> V(NMAX, false);

void backtrack(vector<int> sol) {
   if ((int)sol.size() == N) {
      for (int i = 0; i < N; ++i) {
         printf("%d ", sol[i]);
      }
      printf("\n");
      return;
   }

   for (int i = 1; i <= N; ++i) {
      if (V[i] == false) {
         V[i] = true;

         vector<int> sol_new = sol;
         sol_new.push_back(i);

         backtrack(sol_new);

         V[i] = false;
      }
   }

}

int main() {
   freopen("permutari.in", "r", stdin);
   freopen("permutari.out", "w", stdout);

   vector<int> sol;

   scanf("%d", &N);

   backtrack(sol);

   return 0;
}