Cod sursa(job #3329227)

Utilizator DariusJohnDarius Dumitrescu DariusJohn Data 12 decembrie 2025 12:44:53
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
vector<int> perm;
int n;

bool valid() {
  for (int i = 0; i < perm.size() - 1; i++)
    if (perm[i] == perm.back())
      return 0;
  return 1;
}

void print() {
  for (int i = 0; i < perm.size(); i++)
    fout << perm[i] << " ";
  fout << "\n";
}

void backtracking() {
  for (int i = 1; i <= n; i++) {
    perm.push_back(i);
    if (valid()) {
      if (perm.size() == n)
        print();
      else
        backtracking();
    }
    perm.pop_back();
  }
}

int main() {
  fin >> n;
  backtracking();
}