Cod sursa(job #3123285)

Utilizator radustn92Radu Stancu radustn92 Data 22 aprilie 2023 20:45:25
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <vector>
using namespace std;
int N;

void back(int idx, vector<bool>& visited, vector<int>& perm) {
    if (idx == N) {
        for (int idx = 0; idx < N; idx++) {
            if (idx > 0) {
                cout << " ";
            }
            cout << perm[idx] + 1;
        }
        cout << "\n";
        return;
    }
    for (int no = 0; no < N; no++) {
        if (!visited[no]) {
            perm[idx] = no;
            visited[no] = true;
            back(idx + 1, visited, perm);
            visited[no] = false;
        }
    }
}

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

    cin >> N;
    vector<bool> visited(N, false);
    vector<int> perm(N, 0);

    back(0, visited, perm);
    return 0;
}