Paraules compensades X46137


Statement
 

pdf   zip

Considereu una paraula ss de longitud nn, amb només lletres ‘a’ i ‘b’. Per a qualsevol dels seus prefixos pp, sigui a(p)a(p) el nombre de ‘a’ dins de pp, i sigui b(p)b(p) el nombre de ‘b’ dins de pp. En aquest problema, direm que ss està compensada si i només si per a qualsevol dels n+1n+1 prefixos pp d’ss es compleix |a(p)b(p)|2\vert a(p) - b(p) \vert \le 2.

Per exemple, “abbaaabb” està compensada, però “abbaaaab” no ho està, perquè “abbaaaa” n’és un prefix amb cinc ‘a’ i dues ‘b’. Com altres exemples, ni “bbb” ni “bbbbbb” estan compensades.

Donada una nn, escriviu totes les paraules compensades d’aquesta longitud.

Entrada

L’entrada consisteix en una nn entre 1 i 18.

Sortida

Escriviu en ordre alfabètic totes les paraules compensades amb nn caràcters escollits entre ‘a’ i ‘b’.

Public test cases
  • Input

    1
    

    Output

    a
    b
    
  • Input

    4
    

    Output

    aaba
    aabb
    abaa
    abab
    abba
    abbb
    baaa
    baab
    baba
    babb
    bbaa
    bbab
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++ Python