Cod sursa(job #786157)
Utilizator | Sandu Sorina-Gabriela sory1806 | Data | 10 septembrie 2012 16:23:18 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
std::ifstream f("permutari.in");
std::ofstream g("permutari.out");
const int _MAX_N = 8;
int sol[_MAX_N], used[_MAX_N + 1], n;
void print_solution()
{
for (int i = 0; i < n; i ++) {
g << sol[i] << ' ';
}
g << '\n';
}
void bkt(int pos)
{
if (pos == n) {
print_solution();
return;
}
for (int i = 1; i <= n; i ++) {
if (!used[i]) {
sol[pos] = i;
used[i] = 1;
bkt(pos + 1);
used[i] = 0;
}
}
}
int main()
{
f >> n;
bkt(0);
return 0;
}