Cod sursa(job #158702)

Utilizator alex3el_n2oAlex Vladescu alex3el_n2o Data 13 martie 2008 19:48:29
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
int n,x[10];
void init(int k)
	{
	x[k]=0;
	}
int succ(int k)
	{
	if (x[k]<n)
		{
		x[k]++;
		return 1;
		}
	else return 0;
	}
int valid(int k)
	{
	int i,p=1;
	for (i=1;i<=k-1;i++)
		if (x[k]==x[i]) p=0;
	return p;
        }
int sol(int k)
	{
	return k==n+1;
	}
void afis()
	{
	int i;
	for (i=1;i<=n;i++)
		printf("%d ",x[i]);
	printf("\n");
	}
void back(int k)
{
	if (sol(k)) afis();
	else
		{
		init(k);
		while (succ(k))
			if (valid(k)) back(k+1);
		}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;
}