Cod sursa(job #642438)
Utilizator | Andrei Homorodean peanutz | Data | 1 decembrie 2011 13:10:58 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <stdio.h>
#define NMAX 10
int order[NMAX], vis[NMAX];
void back(int k, int n)
{
if (k == n+1)
{
for (int i = 1; i <= n; i++)
printf("%d ", order[i]);
printf("\n");
}
else
{
for (int i = 1; i <= n; i++)
{
if (!vis[i])
{
order[k] = i;
vis[i] = 1;
back(k+1, n);
vis[i] = 0;
}
}
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
int n;
scanf("%d", &n);
back(1, n);
return 0;
}