Cod sursa(job #156043)

Utilizator rethosPaicu Alexandru rethos Data 12 martie 2008 12:22:00
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
#define NM 9



int n,x[NM];
void afis()
{ int i;
  for (i=1;i<=n;i++) printf("%d ",x[i]);
  printf("\n");
}
int valid(int k)
{ int i;
  for (i=1;i<k;i++) if (x[i]==x[k]) return 0;
  return 1;
}
void bkt(int k)
{ if (k>n)
	{ afis();
	  return;
	}
  int i;
  for (i=1;i<=n;i++)
	{ x[k]=i;
	  if (valid(k)) bkt(k+1);
	}
}
int main()
{ freopen("perm.in","rt",stdin);
  freopen("perm.out","wt",stdout);
  scanf("%d",&n);
  bkt(1);
  fcloseall();
  return 0;
}