Pagini recente » Cod sursa (job #1549499) | Cod sursa (job #2286961) | Cod sursa (job #1265985) | Cod sursa (job #2918324) | Cod sursa (job #2202277)
#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;
}