پرش به محتویات

تمرین ۹: مرکز پشتیبانی و دستور cat

صورت سؤال

یک تیم پشتیبانی برای هر پروژه یک فایل لاگ نگه می‌دارد و شما باید رفتار چند دستور ساده را شبیه‌سازی کنید.

دستورهای ممکن:

  • touch f اگر فایل f وجود نداشته باشد آن را خالی می‌سازد؛ اگر وجود داشته باشد، محتوا تغییر نمی‌کند.
  • write f s محتوای فایل f را دقیقاً برابر یک خط s قرار می‌دهد (بازنویسی کامل).
  • append f s یک خط s را به انتهای فایل f اضافه می‌کند.
  • cat f اگر فایل وجود نداشته باشد باید ERROR چاپ شود. اگر وجود داشته باشد ولی خالی باشد باید EMPTY چاپ شود. وگرنه باید کل محتوای فایل چاپ شود.

برای جدا کردن خروجیِ چند دستور cat از هم، بعد از خروجی هر cat (به جز آخری) یک خط شامل ### چاپ کنید.

ورودی

در خط اول عدد q تعداد دستورها آمده است.
در q خط بعدی، هر خط یکی از دستورهای بالا است.

نام فایل‌ها (f) فقط شامل حروف انگلیسی، عدد، _ و . است.
s یک متن یک‌خطی است که می‌تواند شامل فاصله باشد و تا انتهای خط ادامه دارد.

خروجی

خروجی تمام دستورهای cat را طبق توضیحات چاپ کنید و بین خروجی‌ها (به جز آخرین cat) یک خط ### قرار دهید.

محدودیت‌ها

  • 1 ≤ q ≤ 10^4
  • طول s حداکثر 100 کاراکتر است.

نمونه

ورودی نمونه

9
cat log.txt
touch log.txt
cat log.txt
append log.txt ticket1
append log.txt ticket2
cat log.txt
write log.txt reset
cat log.txt
cat missing.txt

خروجی نمونه

ERROR
###
EMPTY
###
ticket1
ticket2
###
reset
###
ERROR