Module: Corriger la séquence de bracketing (RSP)


Problem

2 /6


Calcul oméga lambda

Theory Click to read/hide

Les séquences de parenthèses régulières consistent en des parenthèses ouvrantes et fermantes d'un ou plusieurs types, chaque parenthèse ouvrante ayant une parenthèse fermante, et (dans le cas de plusieurs types) leurs types ne se chevauchent pas. 
SP correct : 
( ( ) ) ( ) ( ) 
{ } [ ( ) ] ( ) 
{ [ ( { } ) ] } 
SP non valide : 
) ) ( ( ) ) ( ( 
{ [ ( ] ) } 
( ( ] } 
 
Pour vérifier si une séquence de parenthèses est du même type, il suffit de vérifier l'équilibre. 
Autrement dit, nous commençons une variable égale à zéro (solde). Ensuite, nous parcourons la chaîne (si vous ne savez pas comment faire - COUREZ, STUPIDE !), En augmentant l'équilibre lorsqu'il rencontre le crochet d'ouverture et en le diminuant lorsqu'il rencontre celui de fermeture. Si à n'importe quel moment le solde devient négatif ou à la fin il n'est pas égal à zéro, alors la séquence est fausse. 

Problem

Calcul oméga lambda - un développement innovant de "British Scientists, Inc" dans le domaine de la logique formelle. Toute expression du calcul oméga-lambda se compose de parenthèses et de termes (un terme peut être n'importe quelle séquence de lettres latines). 
La réduction d'Izzy est l'une des opérations sur de telles expressions. Lorsqu'il est exécuté, il est vérifié si la séquence de parenthèses dans l'expression est correcte. Les termes sont ignorés. Si la séquence est correcte, il devient le terme gg, sinon, il devient le terme wp
Une expression oméga-lambda ne dépassant pas 107 caractères est utilisée comme entrée. Vous devez afficher le résultat de sa réduction izzy.
 

 

Exemples
# Entrée Sortie
1 a(b(xx)f(g(x))m(y)) gg