Cod sursa(job #2217487)

Utilizator andrei.arnautuAndi Arnautu andrei.arnautu Data 30 iunie 2018 16:42:39
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
/**
  *  Worg
  */
#include <cstdio>
#include <vector>

FILE *fin = freopen("permutari.in", "r", stdin); FILE *fout = freopen("permutari.out", "w", stdout);

const int MAX_N = 8 + 1;

/*-------- Data --------*/
int n;
int p[MAX_N], used[MAX_N];
/*-------- --------*/

void Back(int k) {
  if(k == n + 1) {
    for(int i = 1; i <= n; i++) {
      printf("%d ", p[i]);
    }
    printf("\n");
  } else {
    for(int i = 1; i <= n; i++) {
      if(!used[i]) {
        p[k] = i; used[i] = true;
        Back(k + 1);
        used[i] = false;
      }
    }
  }
}

int main() {
  scanf("%d", &n);

  Back(1);

  return 0;
}