Cod sursa(job #145601)

Utilizator eugen.nodeaEugen Nodea eugen.nodea Data 28 februarie 2008 23:55:56
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
//generare prin back
# include <stdio.h>
int st[1000],ap[1000];
int N;
FILE *f=fopen("permutari.in","r"),*g=fopen("permutari.out","w");

void back(int k)
{
 int i,j;

 if (k==N+1){
	      for (j=1;j<=N;j++)
		fprintf(g,"%d ",st[j]);
	      fprintf(g,"\n");
	     }
	 else {
	  for (i=1;i<=N;i++)
	   {
	     st[k]=i;
	     if (ap[st[k]] == 0) {
		ap[st[k]]=1;
		back(++k);
		ap[st[--k]]=0;
		}
	   }
	 }
}
int main()
{

 fscanf(f,"%d",&N);
 fclose(f);
 back(1);
 fclose(g);
 return 0;
}