Module: Doğru Parantez Sırası (RSP)


Problem

2 /6


Omega lambda hesabı

Theory Click to read/hide

Düzenli parantez dizileri, bir veya daha fazla türün açılış ve kapanış parantezlerinden oluşur; her bir açılış dirseğinin bir kapatma dirseği vardır ve (birden fazla tür olması durumunda) türleri çakışmaz. 
Doğru SP: 
( ( ) ) ( ) ( ) 
{ } [ ( ) ] ( ) 
{ [ ( { } ) ] } 
Geçersiz SP: 
) ) ( ( ) ) ( ( 
{ [ ( ] ) } 
( ( ] } 
 
Bir parantez dizisinin aynı türden olup olmadığını kontrol etmek için dengeyi kontrol etmeniz yeterlidir. 
Yani sıfıra eşit bir değişken başlatıyoruz (bakiye). Sonra ipin üzerinden geçiyoruz (bunu nasıl yapacağınızı bilmiyorsanız - ÇALIŞTIR, APTAL!), açılış dirseğiyle karşılaştığında dengeyi artırıp kapanış dirseğiyle karşılaştığında dengeyi azaltıyoruz. Herhangi bir aşamada bakiye negatif olursa veya sonunda sıfıra eşit değilse sıralama yanlıştır. 

Problem

Omega lambda hesabı - "British Sciences, Inc"in yenilikçi bir gelişimi; biçimsel mantık alanında. Omega-lambda hesabının herhangi bir ifadesi, parantezlerden ve terimlerden oluşur (terim, Latin harflerinin herhangi bir dizisi olabilir). 
İzzy indirgeme, bu tür ifadeler üzerindeki işlemlerden biridir. Çalıştırıldığında ifadedeki parantez dizisinin doğru olup olmadığı kontrol edilir. Terimler dikkate alınmaz. Sıralama doğruysa gg, değilse wp terimi olur. 
En fazla 107karakterden oluşan bir omega-lambda ifadesi girdi olarak kullanılır. Izzy azaltmasının sonucunu görüntülemeniz gerekiyor.
 

 

Örnekler
# Girdi Çıktı
1 a(b(xx)f(g(x))m(y)) gg