Expressions regulars

Aquí tractem amb expressions regulars simplificades, les quals codifiquen paraules. En el que segueix, sigui PP una paraula no buida formada només amb lletres minúscules, sigui DD un dígit entre 1 i 9, i sigui S=E1,,EnS = E_1, \dots, E_n una seqüència no buida d’expressions regulars. Una expressió regular pot ser:

Diversos exemples:

Com podeu veure als exemples d’entrada, aquesta definició recursiva permet que hi hagi tants nivells com es vulgui de [ ... ].

Entrada

L’entrada consisteix en diverses expressions regulars.

Sortida

Escriviu la paraula codificada per cada expressió regular donada.

Observació

Si ss i tt són strings, i cc és un caràcter, aquestes operacions són vàlides:

    s += t; // afegeix una copia de t a la dreta d's
    s += c; // afegeix una copia de c a la dreta d's

Pista

La solució esperada és recursiva. El main() només conté:

    char c;
    while (cin >> c) cout << expressio(c) << endl;

Informació del problema

Autoria: Maria Blesa

Generació: 2026-01-25T12:05:56.654Z

© Jutge.org, 2006–2026.
https://jutge.org