Cod sursa(job #276432)

Utilizator n3msizN3msiz n3msiz Data 11 martie 2009 10:17:12
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

int S[20];
int i,k,n;

FILE *f = fopen("perm.in","r");
FILE *g = fopen("perm.out","w");


int cont(int k){
  int i;
  for (i=1;i<k;i++)
    if (S[i]==S[k])
      return 0;
  return 1;
}

void sol(){
  int i;
  for (i=1;i<=n;i++)
    fprintf(g,"%d ",S[i]);
  fprintf(g,"\n");
}


int main(){


  fscanf(f,"%d",&n);
  fclose(f);

  S[1] = 0;
  k = 1;
  while (k>0)

    if (S[k]<n) {
      S[k]++;
      if (cont(k))
	if (k==n)
	  sol();
	else {
	  k++;
	  S[k] = 0;
	}
    } else
      k--;
  fclose(g);
  return 0;
}