Pagini recente » Cod sursa (job #3241357) | Cod sursa (job #809251) | Cod sursa (job #2519099) | Cod sursa (job #1311457) | Cod sursa (job #2223875)
#include <fstream>
#include <vector>
#include <string>
using namespace std;
const string IN_FILE = "permutari.in";
const string OUT_FILE = "permutari.out";
void back(
const int n,
vector<int>& permutation,
const int i,
vector<bool>& used,
ofstream& out) {
if (i == n) {
for (int j = 0; j < n; j++) {
out << permutation[j] << (j + 1 < n ? " " : "\n");
}
return;
}
for (int v = 1; v <= n; v++) {
if (!used[v]) {
used[v] = true;
permutation.push_back(v);
back(n, permutation, i + 1, used, out);
permutation.pop_back();
used[v] = false;
}
}
}
int readInput() {
ifstream in(IN_FILE);
int n;
in >> n;
in.close();
return n;
}
int main() {
const int n = readInput();
auto permutation = vector<int>();
auto used = vector<bool>(n);
ofstream out(OUT_FILE);
back(n, permutation, 0, used, out);
out.close();
return 0;
}