Cod sursa(job #354560)

Utilizator sorinalupuLupu Sorina Elena sorinalupu Data 8 octombrie 2009 19:12:43
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<stdio.h>
int k, st[100],i,p,n;
int valid(int k)
{
	for (i=1;i<k;i++)
	if (st[k]==st[i]) return 0;
	return 1;
}
int succesor(int k)
{
	if (st[k]<n) { st[k]++;return 1;}
	return 0;
}
void back(int k)
{
	if (k==n+1) {for (i=1;i<=n;i++) printf("%d ",st[i]);printf("\n");}
	else
	{
		st[k]=0;
		while(succesor(k))
		if (valid(k)) back(k+1);
	}
}
int main(void)
{
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	scanf("%d",&n);
	back(1);
}