سلام دوست عزیز😃👋
به مسابقه «بلهکمپ ۷ - مرحله دوم (Back-End)» خوش آمدی!
نکات مفید برای شرکت در مسابقه:
chatGPT
و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکتکنندگان مسابقه حذف میشوید.موفق باشید و بهتون خوش بگذره 😉✌
در پایین وبلاگهای «بله»، کاربرها میتوانند نظرات خود را بنویسند. در پایین یکی از وبلاگها تعدادی نظر ثبت شده ولی به دلیل تغییرات شرایط آبوهوایی این اطلاعات برای یکی از پستها بهم ریخته است.
میدانیم در این پست، نظر توسط کاربران ثبت شده است (ترتیب نظرات را نمیدانیم). همچنین برای هر نظر میدانیم توسط چه کسی و در چه لحظهای ثبت شده، همچنین محتوای آن نظر را میدانیم. برخی از نظرات پاسخی به نظرات دیگر است. آنها را باید به نحوی که در نمونهها میبینید، با فاصله از سمت چپ صفحه نشان دهید.
فرض کنید عرض صفحهی پیامها برابر است. یعنی هر پیام در یک جعبه قرار میگیرد که حداکثر کاراکتر در آن قرار دارد.
در قسمت بالا سمت چپ نظر، نام فرستنده و پایین سمت راست نظر زمان ارسال نشان داده میشود.
حال از شما میخواهیم صفحهی نظرات را بازسازی کنید.
سطر اول حاوی نامِ کاربر است. ابتدا و انتهای این سطر کاراکتر +
چاپ کنید. بقیه سطر حاوی کاراکتر -
است ولی باید بعد از اولین -
، نام کاربر را جایگزین -
ها کنید. برای مثال اگر و نام کاربر برابر Amin
باشد سطر اول بهصورت زیر میشود.
در سطرهای میانی باید نظر کاربر را بنویسید، ابتدا و انتهای هر سطر که ایجاد میکنید باید +
باشد و بین دو +
به اندازهی کاراکتر فاصله باشد. در این فاصله باید پیام کاربر را بنویسید.
اگر بین کلمات چندین فاصله یا space وجود داشت، آنها را یکی در نظر بگیرید و شما به اندازهی یک واحد فاصله دهید. همچنین فاصله یا spaceهای اول و آخر متن را در نظر نگیرید.
همهی عبارتها را به ترتیب در سطرها بنویسید اگر کلمهای در انتهای یک سطر جا نمیشد، آن کلمه را کاملاً به سطر بعدی منتقل کنید. تضمین میشود مقدار به اندازهی کافی بزرگ باشد که بتواند یک کلمه را کاملاً در خود جا بدهد.
برای مثال اگر و متن نظر کاربر برابر عبارت زیر باشد
شما باید به صورت زیر بنویسید
سطر آخر حاوی زمان ارسال نظر است. ابتدا و انتهای این سطر کاراکتر +
چاپ کنید. بقیه سطر حاوی کاراکتر -
است ولی باید قبل از آخرین -
، زمان ارسال نظر را جایگزین -
ها کنید. برای مثال اگر و زمان ارسال نظر برابر 00:13:47
باشد سطر آخر بهصورت زیر میشود.
send
بهجای <username>
یک رشته از حروف کوچک یا بزرگ یا ارقام یا ,
، .
یا ;
است. طول این رشته حداکثر ۱۰ است.
بهجای <comment>
یک رشته شامل تعدادی کلمه مشابه <username>
است و کلمههای آن با تعدادی فاصله یا space از هم جدا شده است.
برای مثال
reply
بهجای <username>
یک رشته از حروف کوچک یا بزرگ یا ارقام یا ,
، .
یا ;
است. طول این رشته حداکثر ۱۰ است.
بهجای <index>
شمارهی سطر نظری را نشان میدهد که این نظر به آن جواب داده است. شمارهها را از ۱ تا به ترتیب ورودی در نظر بگیرید.
بهجای <comment>
یک رشته شامل تعدادی کلمه مشابه <username>
است و کلمههای آن با تعدادی فاصله یا space از هم جدا شده است.
برای مثال (ریپلای آخر به نظر Amir
است.)
اگر نظری پاسخ یک نظر دیگر باشد باید قبل از هر سطر جعبهی آن ۴ کاراکتر <
را اضافه کنید. اگر همان نظر پاسخ نظر دیگری باشد باید ۸ کاراکتر <
را اضافه کنید و...
برای مثال اگر ورودی به این صورت باشد:
خروجی به صورت زیر است:
شما باید نظرها را به ترتیب زمان ارسال مرتب کنید. همچنین پاسخ هر نظر باید زیر آن نظر باشد. اینکه پاسخ هر نظر باید زیر آن نظر باشد، به ترتیب زمان الویت دارد.
برای مثال اگر ورودی به این صورت باشد:
خروجی به این صورت میشود:
زیرمسئلهها | توضیح | امتیاز |
---|---|---|
۱ | فقط یک پیام را به درستی نشان دهید. | ۳۰ |
۲ | چند پیام را به درستی نشان دهید. | ۷۵ |
۳ | یک پیام و یک پاسخ به آن را به درستی نشان دهید. | ۳۰ |
۴ | چند پیام و چند پاسخ به آن را به درستی نشان دهید. تضمین میشود به پاسخها پاسخی داده نشود. | ۷۵ |
۵ | هیچ شرط خاصی نداریم. | ۹۰ |
در سطر اول ورودی، دو عدد صحیح و با فاصله از هم داده میشود. نشان دهندهی تعداد دستورها و عرض صفحه است.
در سطر بعدی در هر سطر یک دستور مطابق با ساختاری که در بالا گفته شده، داده میشود.
ورودیها لزوماً به ترتیب زمان نیستند ولی تضمین میشود ریپلای یک پیام دیرتر از پیام آمده باشد. همچنین هیچ وقت زمان دو پیام برابر نیست.
خروجی شما باید دقیقاً مثل خروجیهای نمونه و طبق خواستهی سوال باشد.