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

در پایین وبلاگ‌های «بله»، کاربرها می‌توانند نظرات خود را بنویسند. در پایین یکی از وبلاگ‌ها تعدادی نظر ثبت شده ولی به دلیل تغییرات شرایط آب‌وهوایی این اطلاعات برای یکی از پست‌ها بهم ریخته است.

می‌دانیم در این پست، \(n\) نظر توسط کاربران ثبت شده است (ترتیب نظرات را نمی‌دانیم). همچنین برای هر نظر می‌دانیم توسط چه کسی و در چه لحظه‌ای ثبت شده، همچنین محتوای آن نظر را می‌دانیم. برخی از نظرات پاسخی به نظرات دیگر است. آن‌ها را باید به نحوی که در نمونه‌ها می‌بینید، با فاصله از سمت چپ صفحه نشان دهید.

فرض کنید عرض صفحه‌ی پیام‌ها برابر \(L\) است. یعنی هر پیام در یک جعبه قرار می‌گیرد که حداکثر \(L\) کاراکتر در آن قرار دارد.

در قسمت بالا سمت چپ نظر، نام فرستنده و پایین سمت راست نظر زمان ارسال نشان داده می‌شود.

حال از شما می‌خواهیم صفحه‌ی نظرات را بازسازی کنید.

نکات جعبه حاوی نظر

سطر اول جعبه


سطر اول حاوی نامِ کاربر است. ابتدا و انتهای این سطر کاراکتر + چاپ کنید. بقیه سطر حاوی \(L\) کاراکتر - است ولی باید بعد از اولین -، نام کاربر را جایگزین -ها کنید. برای مثال اگر \(L=15\) و نام کاربر برابر Amin باشد سطر اول به‌صورت زیر می‌شود.

+-Amin----------+

سطرهای میانی جعبه


در سطرهای میانی باید نظر کاربر را بنویسید، ابتدا و انتهای هر سطر که ایجاد می‌کنید باید + باشد و بین دو + به اندازه‌ی \(L\) کاراکتر فاصله باشد. در این فاصله باید پیام کاربر را بنویسید.

اگر بین کلمات چندین فاصله یا space وجود داشت، آن‌ها را یکی در نظر بگیرید و شما به اندازه‌ی یک واحد فاصله دهید. همچنین فاصله یا space‌های اول و آخر متن را در نظر نگیرید.

همه‌ی عبارت‌ها را به ترتیب در سطرها بنویسید اگر کلمه‌ای در انتهای یک سطر جا نمی‌شد، آن کلمه را کاملاً به سطر بعدی منتقل کنید. تضمین می‌شود مقدار \(L\) به اندازه‌ی کافی بزرگ باشد که بتواند یک کلمه را کاملاً در خود جا بدهد.

برای مثال اگر \(L = 15\) و متن نظر کاربر برابر عبارت زیر باشد

"      I am     Your User. Can     You Help     Me.  "

شما باید به صورت زیر بنویسید

+I am Your User.+
+Can You Help   +
+Me.            +

سطر پایانی جعبه


سطر آخر حاوی زمان ارسال نظر است. ابتدا و انتهای این سطر کاراکتر + چاپ کنید. بقیه سطر حاوی \(L\) کاراکتر - است ولی باید قبل از آخرین -، زمان ارسال نظر را جایگزین -ها کنید. برای مثال اگر \(L=15\) و زمان ارسال نظر برابر 00:13:47 باشد سطر آخر به‌صورت زیر می‌شود.

+------00:13:47-+

انواع نظرات

نوعsend


send <username> hh:mm:ss "<comment>"

به‌جای <username> یک رشته از حروف کوچک یا بزرگ یا ارقام یا ,‍، . یا ; است. طول این رشته حداکثر ۱۰ است.

\[0 \leq hh \leq 23, \quad 0 \leq mm \leq 59, \quad 0 \leq ss \leq 59\]

به‌جای <comment>‌ یک رشته شامل تعدادی کلمه مشابه <username> است و کلمه‌های آن با تعدادی فاصله یا space از هم جدا شده است.

برای مثال

send Amin 00:13:47 "  I am  Your User. Can  You Help  Me.  "

نوعreply


reply <username> <index> hh:mm:ss "<comment>"

به‌جای <username> یک رشته از حروف کوچک یا بزرگ یا ارقام یا ,‍، . یا ; است. طول این رشته حداکثر ۱۰ است.

به‌جای <index> شماره‌ی سطر نظری را نشان می‌دهد که این نظر به آن جواب داده است. شماره‌ها را از ۱ تا \(n\) به ترتیب ورودی در نظر بگیرید.

\[0 \leq hh \leq 23, \quad 0 \leq mm \leq 59, \quad 0 \leq hh \leq 59\]

به‌جای <comment>‌ یک رشته شامل تعدادی کلمه مشابه <username> است و کلمه‌های آن با تعدادی فاصله یا space از هم جدا شده است.

برای مثال (ریپلای آخر به نظر Amir است.)

send Ali 00:20:00 "second"
send Amir 00:10:00 "first"
send Hossein 00:30:00 "third"
reply Amin 2 00:40:00 "  I am  Your User. Can  You Help  Me?  "

نکات مربوط به ریپلای

فاصله نظرات از چپ


اگر نظری پاسخ یک نظر دیگر باشد باید قبل از هر سطر جعبه‌ی آن ۴ کاراکتر < را اضافه کنید. اگر همان نظر پاسخ نظر دیگری باشد باید ۸ کاراکتر < را اضافه کنید و...

برای مثال اگر ورودی به این صورت باشد:

3 15
send A 00:10:00 "Hi"
reply B 1 00:20:00 "Hi"
reply C 2 00:30:00 "Hi"

خروجی به صورت زیر است:

+-A-------------+
+Hi             +
+------00:10:00-+
>>>>+-B-------------+
>>>>+Hi             +
>>>>+------00:20:00-+
>>>>>>>>+-C-------------+
>>>>>>>>+Hi             +
>>>>>>>>+------00:30:00-+

ترتیب نظرات


شما باید نظرها را به ترتیب زمان ارسال مرتب کنید. همچنین پاسخ هر نظر باید زیر آن نظر باشد. اینکه پاسخ هر نظر باید زیر آن نظر باشد، به ترتیب زمان الویت دارد.

برای مثال اگر ورودی به این صورت باشد:

3 15
send D 00:40:00 "Hi"
send A 00:10:00 "Hi"
send B 00:20:00 "Hi"
reply C 2 00:30:00 "Hi"

خروجی به این صورت می‌شود:

+-A-------------+
+Hi             +
+------00:10:00-+
>>>>+-C-------------+
>>>>+Hi             +
>>>>+------00:30:00-+
+-B-------------+
+Hi             +
+------00:20:00-+
+-D-------------+
+Hi             +
+------00:40:00-+

زیرمسئله‌ها

زیرمسئله‌ها توضیح ‌ امتیاز
۱ فقط یک پیام را به درستی نشان دهید. ۳۰
۲ چند پیام را به درستی نشان دهید. ۷۵
۳ یک پیام و یک پاسخ به آن را به درستی نشان دهید. ۳۰
۴ چند پیام و چند پاسخ به آن را به درستی نشان دهید. تضمین می‌شود به پاسخ‌ها پاسخی داده نشود. ۷۵
۵ هیچ شرط خاصی نداریم.‌ ۹۰

ورودی

در سطر اول ورودی، دو عدد صحیح \(n\) و \(L\) با فاصله از هم داده می‌شود. \(n\) نشان دهنده‌ی تعداد دستورها و \(L\) عرض صفحه است. \[1 \leq n \leq 100, \quad \quad 15 \leq L \leq 30\]

در \(n\) سطر بعدی در هر سطر یک دستور مطابق با ساختاری که در بالا گفته شده، داده می‌شود.

ورودی‌ها لزوماً به ترتیب زمان نیستند ولی تضمین می‌شود ریپلای یک پیام دیرتر از پیام آمده باشد. همچنین هیچ وقت زمان دو پیام برابر نیست.

خروجی

خروجی شما باید دقیقاً مثل خروجی‌های نمونه و طبق خواسته‌ی سوال باشد.

مثال‌ها

ورودی نمونه ۱

4 15
send amin 00:00:18 "that was so good I liked it" 
send mahla 00:10:19 "Is it rated"
reply romina 2 00:10:30 "yes it is rated" 
send arshia 00:00:50 "I love quera contests"

خروجی نمونه ۱

+-amin----------+
+that was so    +
+good I liked it+
+------00:00:18-+
+-arshia--------+
+I love quera   +
+contests       +
+------00:00:50-+
+-mahla---------+
+Is it rated    +
+------00:10:19-+
>>>>+-romina--------+
>>>>+yes it is rated+
>>>>+------00:10:30-+

ورودی نمونه ۲

3 20
send Amin 00:00:18 "That Was So gOod I Liked It" 
reply Mahla 1 00:10:19 "Is It Rated"
reply Romina 2 00:10:30 "Yes It Is RaTeD" 

خروجی نمونه ۲

+-Amin---------------+
+That Was So gOod I  +
+Liked It            +
+-----------00:00:18-+
>>>>+-Mahla--------------+
>>>>+Is It Rated         +
>>>>+-----------00:10:19-+
>>>>>>>>+-Romina-------------+
>>>>>>>>+Yes It Is RaTeD     +
>>>>>>>>+-----------00:10:30-+

ورودی نمونه ۳

4 15
reply user2 4 00:30:00 "   u    p   " 
reply user3 4 00:40:00 " u   p    " 
reply user4 1 00:50:00 " u    p   "
send user1 00:10:00 "    u   p     " 

خروجی نمونه ۳

+-user1---------+
+u p            +
+------00:10:00-+
>>>>+-user2---------+
>>>>+u p            +
>>>>+------00:30:00-+
>>>>>>>>+-user4---------+
>>>>>>>>+u p            +
>>>>>>>>+------00:50:00-+
>>>>+-user3---------+
>>>>+u p            +
>>>>+------00:40:00-+
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.