Cod sursa(job #529558)

Utilizator blastoiseZ.Z.Daniel blastoise Data 5 februarie 2011 14:18:32
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#include <string.h>

int sol[9],use[9],N;

inline void back(int level)
{
	int i;

	if(level>N)
	{
		for(i=1;i<N;i++)
			printf("%d ",sol[i]);
		printf("%d\n",sol[N]);
	}
	else
	for(i=1;i<=N;i++)
		if(!use[i])
		{
			use[i]=1;
			sol[level]=i;
			back(level+1);
			use[i]=0;
		}
}

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

	scanf("%d",&N);

	memset(sol,0,sizeof(sol));
	memset(use,0,sizeof(use));

	back(1);

	return 0;
}