Cod sursa(job #2202277)

Utilizator manamyMihai Burl manamy Data 8 mai 2018 11:48:32
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cmath>
#include <cstdio>
#include <vector>
#include <queue>
#include <iostream>
#include <algorithm>
using namespace std;
int *visited, n, *answer;

void printAnswer() {
    for (int i = 0; i < n; i++) {
        std::cout << answer[i] + 1 << ' ';
    }
    std::cout << '\n';
}

void backtrack(int currentPosition) {
    if (currentPosition == n) {
        printAnswer();
    }

    for (int i = 0; i < n; i++) {
        if (visited[i] == 0) {
            visited[i] = 1;
            answer[currentPosition] = i;
            backtrack(currentPosition + 1);
            visited[i] = 0;
        }
    }
}


int main() {
    cin >> n;

    visited = new int[n];
    answer = new int[n];

    backtrack(0);

    return 0;
}