Cod sursa(job #167390)

Utilizator MaGdUtZaVasile Maria-Magdalena MaGdUtZa Data 29 martie 2008 15:46:30
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>
#define dim 9

void back(int k);

int ok(int k,int val);

void tiparire();

int n,sol[dim];

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

	scanf("%d",&n);

	back(1);

	return 0;
}
void back(int k)
{
	if(k==n+1)

		tiparire();

	else

		for(int val=1; val<=n; ++val)

			if(ok(k,val))
			{
				sol[k]=val;

				back(k+1);
			}

}
int ok(int k,int val)
{
	for(int j=1; j<k; ++j)

		if(sol[j]==val)

			return 0;

	return 1;
}
void tiparire()
{
	for(int i=1; i<=n; ++i)

		printf("%d ",sol[i]);

	printf("\n");
}