Cod sursa(job #627075)

Utilizator sebii_cSebastian Claici sebii_c Data 28 octombrie 2011 22:40:00
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
#define NMAX 20

int viz[NMAX], rez[NMAX];
int N;

void print()
{
    int i;
    for (i=1; i<=N; ++i)
	printf("%d ", rez[i]);
}

void perm(int len)
{
    int i;
    if (len == N) {
	print();
	printf("\n");
    }
    else
	for (i=1; i<=N; ++i) {
	    if (!viz[i]) {
		rez[len+1] = i;
		viz[i] = 1;
		perm(len+1);
		viz[i] = 0;
	    }
	}
}

int main()
{
    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);
    scanf("%d", &N);
    perm(0);
    return 0;
}