Cod sursa(job #148842)
Utilizator | Andrei Homorodean peanutz | Data | 4 martie 2008 21:41:50 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
char a[9], uz[9];
int n;
void back(int nivel)
{
int i;
if(nivel == n)
{
for(i = 0; i < n; ++i) printf("%d ", a[i]);
printf("\n");
return ;
}
for(i = 1; i <= n; ++i)
if(!uz[i])
{
++uz[i];
a[nivel] = i;
back(nivel+1);
--uz[i];
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
back(0);
return 0;
}