Pagini recente » Cod sursa (job #1930292) | Cod sursa (job #2076900) | Cod sursa (job #2484951) | Cod sursa (job #3277190) | Cod sursa (job #2702665)
#include <fstream>
#include <vector>
using namespace std;
void write_perms_to_file(
int crnt_perm_pos, vector<int> & crnt_perm,
vector<bool> & used, ofstream & fout
) {
if (crnt_perm_pos == crnt_perm.size()) {
for (int x: crnt_perm) {
fout << x << " ";
}
fout << endl;
return;
}
for (int value = 1; value <= crnt_perm.size(); value++) {
if (!used[value - 1]) {
crnt_perm[crnt_perm_pos] = value;
used[value - 1] = true;
write_perms_to_file(crnt_perm_pos + 1, crnt_perm, used, fout);
used[value - 1] = false;
}
}
}
int main() {
int n;
ifstream fin("permutari.in");
fin >> n;
fin.close();
vector<int> perm(n);
vector<bool> used(n);
ofstream fout("permutari.out");
write_perms_to_file(0, perm, used, fout);
fout.close();
return 0;
}