Cod sursa(job #489787)
| Utilizator | Data | 3 octombrie 2010 16:29:18 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
int nr[9];
int uz[9];
int n;
FILE * fout;
void afisare() {
for (int i = 1; i <= n; i++)
fprintf(fout, "%d ", nr[i]);
fprintf(fout, "\n");
}
void perm(int k) {
if (k > n) afisare();
else {
int i;
for (i = 1; i <= n; i++)
if (!uz[i]) {
uz[i] = 1;
nr[k] = i;
perm(k+1);
uz[i] = 0;
}
}
}
int main() {
FILE * fin = fopen("permutari.in", "r");
fout = fopen("permutari.out", "w");
fscanf(fin, "%d", &n);
perm(1);
return 0;
}