Transformacions de paraules P19888


Statement
 

pdf   zip

Feu un programa que modifiqui (com a molt) rr vegades una paraula inicial pp usant unes quantes trasformacions aba \to b. Cada transformació indica que si pp conté la subparaula aa, llavors aa es pot substituir per bb.

Entrada

L’entrada comença amb la paraula pp. A continuació ve un nombre n1n \ge 1, seguit de nn parells de paraules aa i bb (diferents i de la mateixa longitud). L’entrada acaba amb un natural r1r \ge 1. Les paraules de cada parell mai no són més llargues que pp.

Sortida

Escriviu els resultats d’aplicar rr vegades la primera de les transformacions donades que sigui possible en cada moment. Si la mateixa transformació es pot aplicar a més d’una posició, escolliu la de més a l’esquerra. El programa ha de deixar d’escriure si en algun moment no pot aplicar cap transformació més.

Public test cases
  • Input

    aaaaabbbaaa
    3
    aaa xxx
    bb yy
    aa zz
    4
    

    Output

    xxxaabbbaaa
    xxxaabbbxxx
    xxxaayybxxx
    xxxzzyybxxx
    
  • Input

    abracadabra
    3
    y x
    baca yyyy
    ra ba
    4
    

    Output

    abbacadabra
    abyyyydabra
    abxyyydabra
    abxxyydabra
    
  • Input

    a
    1
    b c
    1
    

    Output

    
            
                                
  • Input

    potato
    2
    potato patata
    po zz
    1000000000
    

    Output

    patata
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++