Cod sursa(job #177391)

Utilizator A-TeamKovago L si Albert I A-Team Data 12 aprilie 2008 20:58:25
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
FILE *in=fopen("permutari.in","r"),*out=fopen("permutari.out","w");
int st[10],i,n;
void tipar()
{
	for(i=1;i<=n;i++)
		fprintf(out,"%d",st[i]);
	fprintf(out,"\n");
}
int valid(int p)
{
	for(i=1;i<=p-1;i++)
		if(st[i]==st[p]) return 0;
	return 1;

}
void bktr(int p)
{
	int pval;
	for(pval=1;pval<=n;pval++)
	{
		st[p]=pval;
		if(valid(p))
			if(p==n)
				tipar();
		else bktr(p+1);
	}
}
int main()
{
	fscanf(in,"%d",&n);
	for(i=1;i<=n;i++)
		st[i]=0;
	bktr(1);
	fcloseall();
	return 0;
}