Cod sursa(job #3354733)

Utilizator victor_gabrielVictor Tene victor_gabriel Data 20 mai 2026 08:27:07
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

void backtrack(int step, int n, vector<int>& sol, vector<bool>& visited) {
    if (step == n) {
        for (auto elem : sol) {
            fout << elem << " ";
        }
        fout << '\n';
        return;
    }

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

        sol[step] = i;
        visited[i] = true;
        backtrack(step + 1, n, sol, visited);
        visited[i] = false;
    }
}

int main() {

    int n;
    fin >> n;

    vector<int> sol(n);
    vector<bool> visited(n, false);
    backtrack(0, n, sol, visited);

    fin.close();
    fout.close();
    return 0;
}