Module: توالی براکت صحیح (RSP)


Problem

2 /6


حساب امگا لامبدا

Theory Click to read/hide

توالی‌های براکت‌های معمولی شامل براکت‌های باز و بسته‌کننده از یک یا چند نوع هستند که هر براکت بازکننده دارای یک براکت بسته‌کننده است و (در مورد چندین نوع) انواع آن‌ها همپوشانی ندارند. 
SP صحیح: 
( ( ) ) ( ) ( ) 
{ } [ ( ) ] ( ) 
{ [ ( { } ) ] } 
SP نامعتبر: 
) ) ( ( ) ) ( ( 
{ [ ( ] ) } 
( ( ] } 
 
برای بررسی اینکه آیا یک توالی براکت از براکت ها از یک نوع است یا نه، فقط تعادل را بررسی کنید. 
یعنی یک متغیر مساوی صفر (تعادل) را شروع می کنیم. سپس از میان رشته عبور می‌کنیم (اگر نمی‌دانید چگونه این کار را انجام دهید - اجرا، احمق!)، تعادل را هنگامی که به براکت باز می‌شود افزایش می‌دهیم و زمانی که به بسته شدن برخورد می‌کند آن را کاهش می‌دهیم. اگر در هر مرحله تراز منفی شود یا در پایان آن برابر با صفر نباشد، دنباله اشتباه است. 

Problem

حساب امگا لامبدا - توسعه نوآورانه "British Scientists, Inc" در حوزه منطق رسمی هر عبارتی از حساب امگا لامبدا از پرانتز و اصطلاح تشکیل شده است (یک عبارت می تواند هر دنباله ای از حروف لاتین باشد). 
کاهش Izzy یکی از عملیات روی چنین عباراتی است. هنگامی که اجرا می شود، بررسی می شود که آیا دنباله براکت در عبارت صحیح است یا خیر. شرایط نادیده گرفته می شود. اگر دنباله درست باشد، به عبارت gg تبدیل می شود، در غیر این صورت، به عبارت wp تبدیل می شود. 
یک عبارت امگا-لامبدا با بیش از 107 کاراکتر به عنوان ورودی استفاده می شود. باید نتیجه کاهش izzy آن را نمایش دهید.
 

 

نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1 a(b(xx)f(g(x))m(y)) gg