Cod sursa(job #154534)

Utilizator mariussMarius Telespan mariuss Data 11 martie 2008 11:49:53
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<stdio.h>
int v[10],i,n,j,viz[10];

inline void afiseaza()
{
	int aux=0,i;
	for(i=1;i<n && aux==0 ;i++)
			for(int j=i+1;j<=n && aux==0;j++)
				if(v[i]==v[j])
					aux=1;

		if(aux==0)
		{
			for(i=1;i<=n;i++)
				printf("%d ",v[i]);

			printf("\n");
		}
}

void back(int k)
{
	int i;

	if(k<=n+1)
	{
		if(k==n+1)
			afiseaza();


		for(i=1;i<=n;i++)
		{
			if(viz[i]==0)
			{
				v[k]=i;
				viz[i]=1;
				back(k+1);
				viz[i]=0;
			}
		}
	}
}

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

	scanf("%d",&n);

	back(1);

	return 0;

}