Cod sursa(job #1691904)

Utilizator BarbumateiBarbu Matei Barbumatei Data 19 aprilie 2016 18:51:30
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>
int v[100], j, n;
FILE *fin, *fout;

void bk(int k){
  int i;
  for(i=1; i<=n; i++){
    v[k]=i;
    if(verif(k)){
      if(k==n-1)
        afis();
      else bk(k+1);
    }
  }
}

int verif(int k){
  for(j=0; j<k; j++)
    if(v[j]==v[k])
      return 0;
  return 1;
}

void afis(){
  for(j=0; j<n; j++)
    fprintf(fout, "%d ", v[j]);
  fprintf(fout, "\n");
}

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