Pagini recente » Cod sursa (job #2342923) | Cod sursa (job #499777) | Cod sursa (job #2349107) | Cod sursa (job #2250013) | Cod sursa (job #2931960)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n, fol[26], sir[9];
void gen(int lg, int sir[9]) {
if (lg == n + 1) {
for (int i = 1; i <= n; ++i) {
fout << sir[i] << " ";
}
fout << "\n";
return;
}
for (char c = 1; c < 1 + n; ++c) {
if (fol[c - 1] == 0) {
sir[lg] = c;
fol[c - 1] = 1;
gen(lg + 1, sir);
fol[c - 1] = 0;
// La intoarcerea din recursivitate este important sa marcam ca nu mai
// folosim litera curenta
}
}
}
int main() {
fin >> n;
gen(1, sir);
return 0;
}