Cod sursa(job #2961642)

Utilizator rutakateIvanovici Vlad rutakate Data 6 ianuarie 2023 19:48:59
Problema Generare de permutari Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <iostream>
#include <fstream>
using namespace std;

int n, fol[26], vocala;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
void gen(int lg, char sir[11]) {
    vocala = 0;
    for(int i = 1; i < n; ++i) {
        if((sir[i] == 'a' && sir[i + 1] == 'e') || (sir[i] == 'e' && sir[i + 1] == 'a') || (sir[i] == 'a' && sir[i + 1] == 'i') || (sir[i] == 'i' && sir[i + 1] == 'a') || (sir[i] == 'e' && sir[i + 1] == 'i' || (sir[i] == 'i' && sir[i + 1] == 'e'))) {
            vocala++;
        }
    }
  if (lg == n + 1) {
        if(vocala == 0) {
    for (int i = 1; i <= n; ++i) {
      fout << sir[i] - 'a' + 1;
    }
    fout << "\n";
    return;
    }
  }
  for (char c = 'a'; c < 'a' + n; ++c) {
    if (fol[c - 'a'] == 0) {
      sir[lg] = c;
      fol[c - 'a'] = 1;
      gen(lg + 1, sir);
      fol[c - 'a'] = 0;
    }
  }
}

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