Cod sursa(job #1475468)

Utilizator salam1Florin Salam salam1 Data 24 august 2015 08:57:52
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>
const int NMAX = 9;
int n, P[NMAX];
bool taken[NMAX];

void back(int k, int P[], bool taken[]) {
  if (k == n + 1) {
    for (int i = 1; i < n; i++)
      printf("%d ", P[i]);
    printf("%d\n", P[n]);
    return ;
  }
  for (int i = 1; i <= n; i++)
    if (!taken[i]) {
      P[k] = i;
      taken[i] = true;
      back(k + 1, P, taken);
      taken[i] = false;
    }
}

int main() {
  freopen("permutari.in", "r", stdin);
  freopen("permutari.out", "w", stdout);
  
  scanf("%d", &n);
  back(1, P, taken);
  return 0;
}