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


Problem

3 /6


Tilda-oméga-lambda-calcul

Theory Click to read/hide

Dans le cas de la présence de supports de plusieurs types, tout devient un peu plus compliqué. Nous créons une pile pour agir comme cette variable d'équilibre. Ceci est nécessaire car les parenthèses ne peuvent pas se chevaucher. Lorsque nous parcourons une ligne et rencontrons une parenthèse ouvrante, nous la poussons sur la pile. Lorsque nous rencontrons une accolade fermante, nous essayons de retirer l'accolade ouvrante de ce type de la pile. Si une accolade d'un type différent se trouve sur la pile, la séquence n'est pas valide. Si la pile n'est pas vide à la fin, la séquence est également invalide. 

Problem

Tilda-omega-lambda-calculus est un développement encore plus innovant de "British Scientists, Inc" dans le domaine de la programmation fonctionnelle. Sa différence avec le calcul oméga-lambda réside uniquement dans la possibilité de mettre des accolades. Des supports en forme d'éléphant étaient également prévus, mais l'entreprise n'a pas réussi à modifier la norme UNICODE. 
L'entrée est une expression tilde-omega-lambda ne dépassant pas 10^7 caractères. Vous devez imprimer le résultat de sa réduction tilde-izzy, qui fonctionne de la même manière que la réduction izzy pour les expressions oméga-lambda, mais avec des accolades et des accolades.

Rappelez-vous que  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. 
 

 

Exemples
# Entrée Sortie
1 principal{izzy[lol](ttt)} gg