Cod sursa(job #147427)

Utilizator megabyteBarsan Paul megabyte Data 2 martie 2008 21:34:10
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>
#define INF "permutari.in"
#define OUF "permutari.out"
const short NMAX=10;

int main()
{
  FILE *in,*out;
  in=fopen(INF,"r");
  out=fopen(OUF,"w");
  short i,k,n,v[NMAX];
  char viz[NMAX]={0};
  fscanf(in,"%hd",&n);

  k=1;v[k]=0;
  while(k>0)
  {
      viz[v[k]]=0;
      do
      {
	++v[k];
      }while(v[k]<=n&&viz[v[k]]);

      if(v[k]<=n&&!viz[v[k]])
      {
	 viz[v[k]]=1;
	 if(k==n)
	 {
		for(i=1;i<=n;++i) fprintf(out,"%hd ",v[i]);
		fprintf(out,"\n");
	 }
	 else v[++k]=0;
      }
      else viz[v[k--]]=0;
  }
  fclose(in);fclose(out);
  return 0;
}