Cod sursa(job #144824)
Utilizator | Gabriel Bitis gabitzish1 | Data | 27 februarie 2008 23:42:14 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
int n, s[10], viz[10];
void afis()
{
int i;
for (i = 1; i <= n; i++) printf("%d ",s[i]);
printf("\n");
}
void back(int k)
{
int i;
if (k > n) afis();
else
for (i = 1; i <= n; i++)
if (!viz[i])
{
viz[i] = 1;
s[k] = i;
back(k + 1);
viz[i] = 0;
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;
}