Pagini recente » Cod sursa (job #2091288) | Cod sursa (job #2661043) | Cod sursa (job #681921) | Cod sursa (job #2227019) | Cod sursa (job #1974779)
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
typedef long long ll;
const ll NMax = 10;
// rezolvare cu backtracking
int N;
int v[NMax];
bool viz[NMax];
// viz[i] = true daca valoarea i exista in vectorul curent
void backT(int);
int main() {
in>>N;
backT(1);
return 0;
}
void backT(int pos) {
if (pos == N+1) {
for (int i=1;i<=N;++i) {
out<<v[i]<<' ';
}
out<<'\n';
return;
}
for (int k=1;k <= N;++k) {
if (viz[k]) {
continue;
}
viz[k] = true;
v[pos] = k;
backT(pos+1);
viz[k] = false;
}
}