Module: Sequência correta de colchetes (RSP)


Problem

2 /6


cálculo lambda ômega

Theory Click to read/hide

Sequências de colchetes regulares consistem em colchetes de abertura e fechamento de um ou mais tipos, com cada colchete de abertura tendo um colchete de fechamento e (no caso de vários tipos) seus tipos não se sobrepõem. 
SP correto: 
( ( ) ) ( ) ( ) 
{ } [ ( ) ] ( ) 
{ [ ( { } ) ] } 
SP inválido: 
) ) ( ( ) ) ( ( 
{ [ ( ] ) } 
( ( ] } 
 
Para verificar se uma sequência de colchetes é do mesmo tipo, basta verificar o saldo. 
Ou seja, iniciamos uma variável igual a zero (saldo). Em seguida, percorremos a corda (se você não sabe como fazer isso - CORRA, ESTÚPIDO!), Aumentando o equilíbrio quando encontra o colchete de abertura e diminuindo quando encontra o de fechamento. Se em algum estágio o saldo ficar negativo ou no final não for igual a zero, então a sequência está errada. 

Problem

Omega lambda calculus - um desenvolvimento inovador da "British Scientists, Inc" no reino da lógica formal. Qualquer expressão do cálculo ômega-lambda consiste em parênteses e termos (um termo pode ser qualquer sequência de letras latinas). 
A redução de Izzy é 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
Uma expressão omega-lambda de não mais que 107 caracteres é usada como entrada. Você precisa exibir o resultado de sua redução izzy.
 

 

Exemplos
# Entrada Saída
1 a(b(xx)f(g(x))m(y)) gg