Pagini recente » Cod sursa (job #1497326) | Cod sursa (job #3145778) | Cod sursa (job #676434) | Cod sursa (job #2662218) | Cod sursa (job #1678913)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
int n, countBKT;
bool isValid(std::vector<int> sol, int x) {
for (int i = 0; i < sol.size(); i++)
if (sol[i] == x)
return false;
return true;
}
void bt(int start_index, std::vector<int>& crt_sol) {
countBKT++;
if (crt_sol.size() == n) {
for (int i = 0; i < n; i++)
out << crt_sol[i] << " ";
out << "\n";
}
for (int i = start_index; i <= n; i++) {
if (isValid(crt_sol, i)) {
crt_sol.push_back(i);
bt(start_index, crt_sol);
crt_sol.pop_back();
}
}
}
int main () {
in >> n;
in.close();
std::vector<int> sol;
bt(1, sol);
}