Pagini recente » Cod sursa (job #3000752) | Cod sursa (job #2369832) | Cod sursa (job #1735337) | Cod sursa (job #33374) | Cod sursa (job #2604687)
#include <stdio.h>
#include <stdlib.h>
#define length 10
int n;
int rez[length], is_on_perm[length];
void afis(FILE* out) {
for(int i = 1; i <= n; i++)
fprintf(out, "%d ", rez[i]);
fprintf(out, "\n");
}
void backTrack(int k, FILE* out) {
if(k == n)
afis(out);
else {
for(int i = 1; i <= n; i++) {
if(!is_on_perm[i]) {
rez[k + 1] = i;
is_on_perm[i] = 1;
backTrack(k + 1, out);
rez[k + 1] = 0;
is_on_perm[i] = 0;
}
}
}
}
int main() {
FILE* in = fopen("permutari.in", "r");
FILE* out = fopen("permutari.out", "w");
fscanf(in, "%d", &n);
n %= 8;
backTrack(0, out);
return 0;
}