Cod sursa(job #1279717)

Utilizator andrei_r_97Radoi Andrei andrei_r_97 Data 30 noiembrie 2014 19:28:23
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <stdlib.h>

int stiva[9], n, util[9];
FILE *in, *out;

void afisare() {
  int i;
  for ( i = 1; i <= n; i++ )
    fprintf(out, "%d ", stiva[i]);
  fprintf(out,"\n");
}

void backtracking(int k) {
  if ( k == n + 1) {
    afisare();
    return;
  }
  int i;
  for ( i = 1; i <= n; i++ ) {
    stiva[k] = i;
    if ( util[i] == 0 ) {
      util[i] = 1;
      backtracking(k+1);
      util[i] = 0;
    }
  }
}

int main()
{
  in  = fopen("permutari.in","r");
  out = fopen("permutari.out","w");
  fscanf(in,"%d",&n);
  backtracking(1);
  fclose(in);
  fclose(out);
  return 0;
}