- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
بعد از انجام برآوردهای اولیه، حالا به سامانهای برای مدیریت رویداد نیاز داریم. این سامانه باید قابلیتهای زیر را پشتیبانی کند:
ایجاد رویداد
برای ایجاد رویداد دستور زیر وارد میشود که در آن eventName نام رویداد و costPerPerson هزینه رویداد به ازای هرشرکتکننده است.
CREATE eventName costPerPerson
در صورتی که نام رویداد تکراری باشد، باید پیام خطا زیر چاپ شود:
UNSUCCESSFUL CREATE
حذف رویداد
برای حذف رویداد دستور زیر وارد میشود که در آن eventName نام رویداد است.
DELETE eventName
در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:
INVALID EVENTNAME
افزودن شرکت کننده به یک رویداد
برای افزودن شرکت کننده به یک رویداد دستور زیر وارد میشود که در آن userName نام کابر و eventName نام رویداد مورد است.
ADD userName EventName
درصورتی که کاربر از قبل به رویداد اضافه شده باشد، باید پیام خطا زیر چاپ شود:
USER ALREADY ADDED TO EVENT
در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:
INVALID EVENTNAME
حذف شرکت کننده از یک رویداد
برای حذف شرکت کننده از یک رویداد دستور زیر وارد میشود که در آن userName نام کابر و eventName نام رویداد مورد نظر است.
REMOVE userName EventName
درصورتی که کاربر از قبل در ایونت وجود نداشته، باید پیام خطا چاپ شود:
USER NOT FOUND IN EVENT
در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:
INVALID EVENTNAME
محاسبه هزینه رویداد
برای محاسبه هزینه رویداد دستور زیر وارد میشود که در آن eventName نام رویداد است. هزینه هر رویداد معادل حاصل ضرب تعداد شرکت کنندگان آن رویداد و هزینه به ازای هر شرکت کننده است.
COST eventName
در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:
INVALID EVENTNAME
خروج از سامانه
برای اتمام کار سامانه دستور زیر وارد میشود. تضمین میشود در پاین هر مجموعه ای از دستورات این دستور وارد شود.
FINISH
ورودی و خروجی
در هر خط ورودی یکی از دستورات فوق وارد میشود. تعداد خط های ورودی از $10^5$کمتر خواهد بود. تضمین میشود در خط آخر دستورات دستور خروج از سامانه وارد شود و بعد از آن دستور دیگری وارد نشود. تضمین میشود که هزینه نهایی در محدودهی نوع دادهی int64 قرار دارد. در صورت اجرای موفق پیام زیر و در صورت وجود خطا پیغام خطا مرتبط چاپ میشود ، به استثنا دستور محسابه هزینه که باید مقدار هزینه محاسبهشده چاپ شود.
SUCCESSFUL
مثال
ورودی نمونه ۱
CREATE olympic 200000
ADD ali olympic
ADD sara olympic
COST olympic
FINISH
خروجی نمونه ۱
SUCCESSFUL
SUCCESSFUL
SUCCESSFUL
400000
در گام اول یک رویداد با نام olympic و هزینه هر نفر ۲۰۰۰۰۰ ساخته میشود. در گام های دوم و سوم دو کاربر با موفقیت به رویداد olympic اضافه میشوند. در گام چهارم هزینه رویداد محاسبه میشود که برابر است با ۲*۲۰۰۰۰۰ =۴۰۰٬۰۰۰ .
ورودی نمونه ۲
CREATE techfest 100000
CREATE techfest 150000
DELETE codecup
ADD reza techfest
ADD reza techfest
REMOVE sara techfest
REMOVE reza codecup
COST codecup
COST techfest
FINISH
خروجی نمونه ۲
SUCCESSFUL
UNSUCCESSFUL CREATE
INVALID EVENTNAME
SUCCESSFUL
USER ALREADY ADDED TO EVENT
USER NOT FOUND IN EVENT
INVALID EVENTNAME
INVALID EVENTNAME
100000
ارسال پاسخ برای این سؤال