المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:متفرقه:سوال های ای سی ام سایت تهران:دوره ی ۲:e

Lazy Math Instructor

یک معلم ریاضی که خیلی تنبل است نمی‌خواهد یکی از سوال‌های امتحان را که دانش‌آموزان در آن باید یک فرمول پیچیده را محاسبه کنند تصحیح کند. دانش آموزان ممکن است جواب را به صورت فرمول‌های مختلف بنویسند که کار تصحیح را خیلی سخت می‌کند. بنابراین، معلم از برنامه نویسان درخواست کمک می کند.

شما باید یک برنامه بنویسید که تعدادی فرمول ببیند و به‌دست آورد که آیا آن‌ها با هم برابرند یا نه.

ورودی

خط اول ورودی شامل عدد طبیعی $ (1\le N \le 20 ) N $ که تعداد تست‌هااست. بعد از خط اول، برای هر تست دو خط وجود دارد. هر تست شامل دو عبارت ریاضی است که هر کدام در یک خط مجزا با حداکثر 80 کلمه است. هیچ خط خالی در ورودی نیست. هر عبارت یک یا چند مورد زیر را دارد:

  • متغیرهای یک حرفی (حروف کوچک و بزرگ یکسان تلقی می‌شوند.)
  • اعداد یک رقمی
  • بسته و باز پرانتز ریاضی
  • اعمال اصلی ریاضی شامل + ،- ،* که به ترتیب جمع و منها و ضرب است.
  • تعدادی اتفاقی فاصله و tab بین موارد بالا.

توجه: عبارت‌ها از نظر ریاضی درست هستند و در هر پرانتز اولویت‌ها یکسان هستند. اعداد و حاصل آن‌ها در 16- بیت جا می‌شوند.

خروجی

برنامه‌ی شما به ازای هر تست باید یک خط چاپ کند. اگر عبارت‌های یک تست یکسان بودند، YES و در غیر این‌صورت باید به عنوان خروجی برنامه شما NO بدهد. در تمام خروجی با ید از حروف بزرگ استفاده شده باشد.

محدودیت‌ها

  • محدودیت زمان: ۱۰ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
3
(a+b-c)*2
(a+a)+(b*2)-(3*c)+c
a*2-(a+c)+((a+c+e)*2)
3*a+c+(2*e)
(a-b)*(a-b)
(a*a)-(2*a*b)-(b*b)
YES
YES
NO

پاسخ

منتظر پر کردن این قسمت توسط علاقمندان هستیم.


ابزار صفحه