fbpx

Problema #1812 – LitereGen1 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Scrieți un program care citeşte o valoare naturală impară pentru n şi apoi generează şi afişează în ordine crescătoare lexicografic toate combinaţiile formate din n litere mici care îndeplinesc următoarele proprietăţi:

– încep şi se termină cu a;

Exemplu

Intrare

5

Ieșire

ababa
abcba
#include <bits/stdc++.h>
using namespace std;

int n , x[26];

void afisare()
{
    for(int i = 1 ; i <= n ; i++)
        cout << char(x[i] + 'a');
    cout << '\n';
}

void back(int k)
{
    for(int i = x[k - 1] - 1; i <= x[k - 1] + 1; i += 2)
        if(i >= 0 && i <= n / 2)
        {
            x[k] = i;
            if(k == n)
            {
                if(x[k] == 0) afisare();
            }
            else back(k + 1);
        }
}

int main()
{
    cin >> n;
    x[1] = 0;
    back(2);
}
Comentarii

S-ar putea sa iti placa