Pagini recente » Cod sursa (job #5304) | Cod sursa (job #2215907) | Cod sursa (job #3276602) | Cod sursa (job #2388970) | Cod sursa (job #1813705)
#include <fstream>
using namespace std;
ifstream fin ("permutari.in");
ofstream fout ("permutari.out");
const int NMAX = 10;
int N;
int sol[NMAX];
void print (int n) {
for (int i = 1; i <= n; i++) {
fout << sol[i] << " ";
}
fout << '\n';
}
bool valid (int n) {
int vc[NMAX];
for (int i = 1; i <= N; vc[i] = 0, i++);
for (int i = 1; i <= n; i++) {
if (vc[sol[i]] == 1) {
return false;
}
vc[sol[i]] = 1;
}
return true;
}
void bkt (int lvl) {
if (lvl == N + 1) {
print (N);
}
for (int i = 1; i <= N; i++) {
sol[lvl] = i;
if (valid (lvl))
bkt (lvl + 1);
}
}
int main () {
fin >> N;
bkt (1);
return 0;
}