Pagini recente » Cod sursa (job #1484976) | Cod sursa (job #1479841) | Cod sursa (job #526121) | Cod sursa (job #3346716) | Cod sursa (job #3354982)
#include <fstream>
#include <vector>
using namespace std;
int main(void) {
ifstream fin ("permutari.in");
ofstream fout ("permutari.out");
int n;
fin >> n;
vector<int> solution;
vector<int> used(n + 1, 0);
auto print_array = [&](vector<int> &a) -> void {
for (size_t i = 0; i < a.size(); i++) {
fout << a[i] << " ";
}
fout << "\n";
};
auto backtracking = [&](auto self) -> void {
if (solution.size() == n) {
print_array(solution);
return;
}
for (int i = 1; i <= n; i++) {
if (!used[i]) {
solution.push_back(i);
used[i] = 1;
self(self);
solution.pop_back();
used[i] = 0;
}
}
};
backtracking(backtracking);
return 0;
}