Pagini recente » Cod sursa (job #2270745) | Cod sursa (job #797769) | Monitorul de evaluare | Cod sursa (job #305412) | Cod sursa (job #2281091)
#include <iostream>
#include <vector>
using namespace std;
const int NMAX = 9;
int N;
vector<bool> V(NMAX, false);
void backtrack(vector<int> sol) {
if ((int)sol.size() == N) {
for (int i = 0; i < N; ++i) {
printf("%d ", sol[i]);
}
printf("\n");
return;
}
for (int i = 1; i <= N; ++i) {
if (V[i] == false) {
V[i] = true;
vector<int> sol_new = sol;
sol_new.push_back(i);
backtrack(sol_new);
V[i] = false;
}
}
}
int main() {
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
vector<int> sol;
scanf("%d", &N);
backtrack(sol);
return 0;
}