Cod sursa(job #489253)
Utilizator | Irina Stanescu ira | Data | 1 octombrie 2010 23:54:03 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
int n;
int sol[20], viz[20];
FILE *fin, *fout;
void back(int k) {
int i;
if (k == n) {
for (i = 0; i < n; i++)
printf("%d ", sol[i] + 1);
printf("\n");
return;
}
for (i = 0; i < n; i++)
if (viz[i] == 0) {
sol[k] = i;
viz[i] = 1;
back(k + 1);
viz[i] = 0;
}
}
int main() {
int i;
fin = freopen("permutari.in", "r", stdin);
fout = freopen("permutari.out", "w", stdout);
scanf("%d", &n);
back(0);
return 0;
}