Cod sursa(job #403454)

Utilizator lalasCont de teste lalas Data 24 februarie 2010 22:45:21
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<cstdio>

const int maxn = 30;

int i , j , k , perm[maxn] , n;
bool taken[maxn];

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

void back(int p)
{
	if ( p == n + 1 ) print();
	
	else
	{
		int i;
		for( i = 1 ; i <= n ; ++i ) {
			if ( taken[i] == 0 ) {
				taken[i] = 1;
				perm[p] = i;
				back (p + 1);
				taken[i] = 0;
			}
		}
	}
}

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