Module: Secuencia de paréntesis correcta (RSP)


Problem

3 /6


Tilda-omega-lambda-cálculo

Theory Click to read/hide

En el caso de la presencia de brackets de varios tipos, todo se vuelve un poco más complicado. Creamos una pila para que actúe como esa variable de equilibrio. Esto es necesario porque los paréntesis no se pueden superponer. Cuando recorremos una línea y encontramos un paréntesis de apertura, lo colocamos en la pila. Cuando encontramos una llave de cierre, intentamos sacar la llave de apertura de ese tipo de la pila. Si hay una llave de un tipo diferente en la pila, la secuencia no es válida. Si la pila no está vacía al final, la secuencia tampoco es válida. 

Problem

Tilda-omega-lambda-calculus es un desarrollo aún más innovador de "British Scientists, Inc" en el campo de la programación funcional. Su diferencia con el cálculo omega-lambda está solo en la capacidad de poner corchetes y corchetes. También se planearon soportes en forma de elefante, pero la empresa no logró cambiar el estándar UNICODE.
La entrada es una expresión tilde-omega-lambda de no más de 10^7 caracteres. Debe imprimir el resultado de su reducción tilde-izzy, que funciona de la misma manera que la reducción izzy para las expresiones omega-lambda, pero con corchetes y corchetes.

Recuerde que  izzy-reduction es una de las operaciones en tales expresiones. Cuando se ejecuta, se comprueba si la secuencia de paréntesis en la expresión es correcta. Los términos son ignorados. Si la secuencia es correcta, se convierte en el término gg, si no, se convierte en el término wp. 
 

 

Ejemplos
# Entrada Salida
1 principal{izzy[lol](ttt)} gg