Codificació irreversible (2) P22307


Statement
 

pdf   zip

thehtml

L’Anna havia d’enviar un missatge confidencial al Bernat. Per evitar que caigués en males mans, prèviament van decidir codificar-lo així: L’Anna havia de reemplaçar cada ‘A’ per un ‍1, cada ‘B’ per un 2, cada ‘C’ per un 3, …, i cada ‘Z’ per un 26. Per exemple, la codificació de “LC” és 123 (el codi de la ‘L’ és 12).

L’Anna ja ha enviat el missatge. En Bernat donava per fet que l’Anna separaria amb espais la codificació de cada caràcter, però no va ser el cas. Per exemple, ara a partir de 123 no es pot saber si la paraula original era “LC”, “AW” o “ABC”.

Feu un programa que compti totes les paraules corresponents a una codificació donada.

Entrada

L’entrada consisteix en diversos casos, cadascun amb la codificació d’una paraula. Cada codificació és vàlida, i té entre 1 i 104 dígits.

Sortida

Per a cada codificació, escriviu quantes possibles paraules originals hi ha. Com que aquest nombre pot ser molt gran, feu els càlculs mòdul 109 + 7.

Public test cases
  • Input

    123
    1
    42109120
    2626
    272727272727272727272727272727
    12121212121212121212121212121212121212121212121212121212121212121212121212121212
    

    Output

    3
    1
    1
    4
    1
    107920472
    
  • Information
    Author
    Víctor Martín
    Language
    Catalan
    Official solutions
    C++ Python
    User solutions
    C++