Module: Sequência correta de colchetes (RSP)


Problem

3 /6


Tilda-ômega-lambda-cálculo

Theory Click to read/hide

No caso da presença de colchetes de vários tipos, tudo fica um pouco mais complicado. Criamos uma pilha para atuar como essa variável de equilíbrio. Isso é necessário porque os parênteses não podem se sobrepor. Quando percorremos uma linha e encontramos um parêntese de abertura, nós o colocamos na pilha. Quando encontramos uma chave de fechamento, tentamos retirar a chave de abertura daquele tipo da pilha. Se uma chave de um tipo diferente estiver na pilha, a sequência é inválida. Se a pilha não estiver vazia no final, a sequência também é inválida. 

Problem

Tilda-omega-lambda-calculus é um desenvolvimento ainda mais inovador da "British Scientists, Inc" no campo da programação funcional. Sua diferença em relação ao cálculo ômega-lambda está apenas na capacidade de colocar colchetes e chaves. Suportes em forma de elefante também foram planejados, mas a empresa não conseguiu alterar o padrão UNICODE. 
A entrada é uma expressão til-omega-lambda de não mais que 10^7 caracteres. Você precisa imprimir o resultado de sua redução til-izzy, que funciona da mesma forma que a redução izzy para expressões ômega-lambda, mas com colchetes e chaves.

Lembre-se de que  izzy-reduction é uma das operações em tais expressões. Ao ser executado, é verificado se a sequência de colchetes na expressão está correta. Os termos são ignorados. Se a sequência estiver correta, torna-se o termo gg, caso contrário, torna-se o termo wp. 
 

 

Exemplos
# Entrada Saída
1 main{izzy[lol](ttt)} gg