Implementeu un programa que comprovi la correcta parentització d’una sèrie de paraules donades.
L’entrada consisteix en una sèrie paraules no buides formades amb
’(’, ’)’, ’[’, ’]’,
i lletres minúscules.
Per a cada paraula, cal escriure si és correcta o no seguint el format de l’exemple. Diem que una paraula és correcta si i només si:
Segueix les regles habituals de parentització, és a dir, cada
‘(’ té exactament un ‘)’ que el tanca, i cada
‘[’ té exactament un ‘]’ que el
tanca.
Dins dels parèntesis i claudàtors que no tenen parèntesis ni claudàtors interiors, hi ha exactament una lletra.
Les lletres no apareixen enlloc més.
Una pila de caràcters us pot ser útil per resoldre aquest problema.
Input
[x] () (xy) (z)((z)) (y)(()) (y)(a(z)) ([a)] ([a]) [([a]((b)))[c](d)](e) [](x) ]x[ (a)) k (a)b a[b]
Output
[x]: si (): no (xy): no (z)((z)): si (y)(()): no (y)(a(z)): no ([a)]: no ([a]): si [([a]((b)))[c](d)](e): si [](x): no ]x[: no (a)): no k: no (a)b: no a[b]: no