Cod sursa(job #150333)

Utilizator xtephanFodor Stefan xtephan Data 6 martie 2008 20:56:40
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>

int n;
int st[10];

void afis() {
	for(int i=1; i<=n; i++)
		printf("%d", st[i]);
	printf("\n");
}

int bun(int i, int k) {

	for(int j=1; j<=k; j++)
		if( st[j] == i )
			return 0;

	return 1;
}


void permuta(int k) {

	if(k == n)
		afis();
	else {
		for(int i=1; i<=n; i++)
			if( bun(i,k) ) {
				st[k+1]=i;
				permuta(k+1);
			}
	}


}

int main() {

	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);

	scanf("%d", &n);
	permuta(0);

	return 0;
}