Module: Sequenza di parentesi corrette (RSP)


Problem

2 /6


Calcolo lambda omega

Theory Click to read/hide

Le normali sequenze di parentesi sono costituite da parentesi di apertura e chiusura di uno o più tipi, con ciascuna parentesi di apertura che ha una parentesi di chiusura e (nel caso di più tipi) i loro tipi non si sovrappongono. 
SP corretto: 
( ( ) ) ( ) ( ) 
{ } [ ( ) ] ( ) 
{ [ ( { } ) ] } 
SP non valido: 
) ) ( ( ) ) ( ( 
{ [ ( ] ) } 
( ( ] } 
 
Per verificare se una sequenza di parentesi quadre è dello stesso tipo, basta controllare il bilanciamento. 
Cioè, iniziamo una variabile uguale a zero (saldo). Quindi percorriamo la stringa (se non sai come farlo - CORRI, STUPIDO!), aumentando il saldo quando incontra la parentesi di apertura e diminuendolo quando incontra quella di chiusura. Se in qualsiasi momento il saldo diventa negativo o alla fine non è uguale a zero, allora la sequenza è sbagliata. 

Problem

Omega lambda calcolo - uno sviluppo innovativo di "British Scientists, Inc" nell'ambito della logica formale. Qualsiasi espressione del calcolo omega-lambda consiste di parentesi e termini (un termine può essere qualsiasi sequenza di lettere latine). 
La riduzione di Izzy è una delle operazioni su tali espressioni. Quando viene eseguito, viene verificato se la sequenza di parentesi nell'espressione è corretta. I termini sono ignorati. Se la sequenza è corretta, diventa il termine gg, altrimenti diventa il termine wp
Come input viene utilizzata un'espressione omega-lambda di non più di 107 caratteri. Devi visualizzare il risultato della sua vertiginosa riduzione.
 

 

Esempi
# Input Uscita
1 a(b(xx)f(g(x))m(y)) gg