Cod sursa(job #1210160)
Utilizator | Data | 19 iulie 2014 13:12:33 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <stdio.h>
#define USED 1
#define NOT_USED 0
int N, A[16], P[8];
void generate(int k)
{
if (k < N)
{
for (int i = 1; i <= N; ++i)
{
if (P[i] == NOT_USED)
{
P[i] = USED;
A[k] = i;
generate(k+1);
P[i] = NOT_USED;
}
}
}
else
{
for (int i = 0; i < N; ++i)
{
printf("%d ", A[i]);
}
printf("\n");
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &N);
generate(0);
return 0;
}