Cod sursa(job #3354982)

Utilizator cosmin1337Baroana Cosmin cosmin1337 Data 21 mai 2026 15:00:26
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <vector>

using namespace std;


int main(void) {
    ifstream fin ("permutari.in");
    ofstream fout ("permutari.out");

    int n;
    fin >> n;

    vector<int> solution;
    vector<int> used(n + 1, 0);

    auto print_array = [&](vector<int> &a) -> void {
        for (size_t i = 0; i < a.size(); i++) {
            fout << a[i] << " ";
        }
        fout << "\n";
    };

    auto backtracking = [&](auto self) -> void {
        if (solution.size() == n) {
            print_array(solution);
            return;
        }

        for (int i = 1; i <= n; i++) {
            if (!used[i]) {
                solution.push_back(i);
                used[i] = 1;

                self(self);

                solution.pop_back();
                used[i] = 0;
            }
        }
    };

    backtracking(backtracking);
    return 0;
}