Cod sursa(job #2931960)

Utilizator coso2312Cosmin Bucur coso2312 Data 1 noiembrie 2022 12:23:20
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

int n, fol[26], sir[9];

void gen(int lg, int sir[9]) {
  if (lg == n + 1) {
    for (int i = 1; i <= n; ++i) {
      fout << sir[i] << " ";
    }
    fout << "\n";
    return;
  }
  for (char c = 1; c < 1 + n; ++c) {
    if (fol[c - 1] == 0) {
      sir[lg] = c;
      fol[c - 1] = 1;
      gen(lg + 1, sir);
      fol[c - 1] = 0;
      // La intoarcerea din recursivitate este important sa marcam ca nu mai
      // folosim litera curenta
    }
  }
}

int main() {
    fin >> n;
    gen(1, sir);
    return 0;
}