Cod sursa(job #2015620)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 26 august 2017 19:15:45
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <bitset>
#include <vector>

using namespace std;

ifstream cin("permutari.in");
ofstream cout("permutari.out");

const int MAX = 10;

void solve(int n, vector < int > &sol, bitset < MAX > &used) {
  if (sol.size() == n) {
    for (int x : sol) {
      cout << x << ' ';
    }
    cout << '\n';
    return;
  }

  for (int i = 1; i <= n; i ++) {
    if (used[i]) continue;

    sol.push_back(i);
    used[i] = true;
    solve(n, sol, used);
    sol.pop_back();
    used[i] = false;
  }
}

int main() {
  int n;
  cin >> n;

  vector < int > sol;
  bitset < MAX > used;
  solve(n, sol, used);
}