Pagini recente » Cod sursa (job #2817390) | Cod sursa (job #1129646) | Cod sursa (job #2576389) | Cod sursa (job #3189511) | Cod sursa (job #1989823)
#include <iostream>
#include <fstream>
#include <vector>
void perm(int nV, int vCount, std::vector<int> &vals, std::vector<bool> &check, std::ostream &out) {
if (nV == vCount) {
for (int i(1); i <= nV; i++) {
out << vals[i] << ' ';
}
out << std::endl;
return;
}
for (int i(1); i <= nV; i++) {
if (check[i]) continue;
vCount++;
check[i] = true;
vals[vCount] = i;
perm(nV, vCount, vals, check, out);
check[i] = false;
vCount--;
}
}
int main() {
std::ifstream in("permutari.in");
std::ofstream out("permutari.out");
int nV;
in >> nV;
std::vector<bool> check(nV + 1, false);
std::vector<int> vals(nV + 1);
perm(nV, 0, vals, check, out);
in.close();
out.close();
return 0;
}