Pagini recente » Cod sursa (job #811777) | Cod sursa (job #1054322) | Cod sursa (job #1742481) | Cod sursa (job #3159881) | Cod sursa (job #1673027)
#include <iostream>
#include <fstream>
#include <string.h>
#include <vector>
std::ifstream fin("permutari.in");
std::ofstream fout("permutari.out");
void back_tracking(int N, bool *viz, std::vector<int> v) {
if (v.size() == (unsigned int)N) {
for (size_t i = 0; i < v.size(); i++)
fout << v[i] << " ";
fout << '\n';
return;
}
for (int i = 1; i <= N; i++) {
if (!viz[i]) {
viz[i] = true;
v.push_back(i);
back_tracking(N, viz, v);
viz[i] = false;
v.pop_back();
}
}
}
int main()
{
int N;
fin >> N;
bool viz[N+1];
memset(viz, false, sizeof(viz));
std::vector<int> v;
back_tracking(N, viz, v);
return 0;
}