Cod sursa(job #155767)
Utilizator | Oltean Dorin Dorin | Data | 12 martie 2008 10:00:33 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.75 kb |
# include <stdio.h>
# define input "permutari.in"
# define output "permutari.out"
# define max 10
int n,u[max],a[max];
void afiseaza()
{
for(int i = 1;i<=n ;i++)
printf("%d ",a[i]);
printf("\n");
}
void back(int k)
{
if(k == n+1)
afiseaza();
else
{
for(int i = 1;i<=n;i++)
{
if(!u[i])
{
u[i] = 1;
a[k] = i;
back(k+1);
u[i] = 0;
}
}
}
}
int main()
{
freopen(input, "r", stdin);
freopen(output, "w", stdout);
scanf("%d",&n);
back(1);
return 0;
}