Pagini recente » Cod sursa (job #581031) | Cod sursa (job #2250851) | Cod sursa (job #1404883) | Cod sursa (job #3227660) | Cod sursa (job #160188)
Cod sursa(job #160188)
//Generare permutari in ordine lexicografica
#include <stdio.h>
#define INPUT "permutari.in"
#define OUTPUT "permutari.out"
#define NMAX 9
int N, k;
int x[NMAX], viz[NMAX];
void afis()
{
int i;
for(i = 1; i < N; ++i)
printf("%d ", x[i]);
printf("%d\n", x[N]);
}
void back()
{
while(k)
if(k == N+1)
{
afis();
viz[x[--k]] = 0;
}
else if(x[k] < N)
{
++x[k];
if(!viz[x[k]]) viz[x[k++]] = 1;
}
else x[k] = 0, viz[x[--k]] = 0;
}
int main()
{
freopen(INPUT, "r", stdin);
freopen(OUTPUT, "w", stdout);
scanf("%d", &N);
k = 1;
back();
return 0;
}