یک سامانهی برگزاری آزمون، از دقیقهی تا باز میشود. مدت زمان پاسخگویی به سؤالات حداکثر دقیقه است. شخصی در لحظهی وارد سامانه میشود.
exam did not started!
را چاپ کنید.exam finished!
را چاپ کنید.توجه کنید ممکن است سامانه برگزاری آزمون، (قبل از پایان دقیقه) بسته شود ولی مدت پاسخگویی شخص باقی مانده باشد.
در تنها خط ورودی، چهار عدد طبیعی و و و با یک فاصله از هم آمدهاند.
در تنها خط خروجی، خواستهی مسئله را چاپ کنید.
سامانهی برگزاری آزمون در بازهی زمانی ۲۰ تا ۴۰ باز است. اگر شخصی در لحظه ۳۶ وارد سامانه شود و بخواهد در آزمونی که مدت آن ۱۰ دقیقه است شرکت کند، تنها ۴ دقیقه فرصت دارد، چون بعد از ۴ دقیقه سامانه بسته خواهد شد.
سامانهی برگزاری آزمون در بازهی زمانی ۲۰ تا ۴۰ باز است. اگر شخصی در لحظه ۴۰ وارد سامانه شود، فرصتی برای پاسخگویی ندارد چون آزمون تمام شده است.
سامانهی برگزاری آزمون در بازهی زمانی ۲۰ تا ۴۰ باز است. اگر شخصی در لحظه ۱۹ وارد سامانه شود، باید به او اطلاع دهیم که آزمون هنوز شروع نشده است.
شما روی دسکتاپ (desktop) کامپیوتر هستید و هیچ چیزی روی دسکتاپ نیست. از شما میخواهیم دو نوع اتفاق را هندل کنید.
توجه کنید اگر در ورودی یک اسم تکراری آمد همان نام را بنویسید ولی شماره داخل پرانتز اضافه کنید.
در خط اول ورودی عدد طبیعی آمده است که نشاندهندهی تعداد فولدرها میباشد. در خط بعدی در هر خط نام یک فولدر آمده است.
به ازای هر فولدری که ایجاد میکنید در یک خط لیست همهی فولدرهای فعلی(همراه با فولدر ایجاد شده) را به صورت مرتب چاپ کنید. نام هر فولدر را درون دو تک کوتیشن و این نامها را با یک کاما و فاصله از هم جدا کنید.
عبدالله اخیراً یک شخصیت کارتونی در قالب ASCII تحت عنوان QQ برای کوئرا طراحی کرده که بهشکل زیر است:
او از شما میخواهد با بهکارگیری این شخصیت کارتونی، برنامهای تحت عنوان qsay بنویسید تا با cowsay رقابت کند. این برنامه قرار است یک متن از ورودی دریافت کند و متن را برای مثال بهشکل زیر چاپ کند:
علاوه بر متن ورودی، این برنامه یک عدد صحیح دریافت میکند که بیانگر حداکثر طول یک خط در متن خروجی برنامه است. کلمات ممکن است شامل whitespace های متعددی (از جمله space ، tab یا newline) باشد، اما در خروجی برنامه، کلمات باید تنها با یک space از یکدیگر جدا شوند. همچنین کلمات باید بهگونهای در کنار یکدیگر قرار گیرند که حداکثر طول یک خط برابر با حداکثر طول مشخصشده در ورودی برنامه باشد.
خروجی در حالت تکخطی باید بهترتیب در قالب خطوط زیر چاپ شود:
_
<
، سپس یک space ، سپس متن خروجی، سپس «اندازهی طولانیترین خط در متن خروجی منهای طول خط فعلی بعلاوهی ۱» تا space و در نهایت، کاراکتر >
-
خروجی در حالت چندخطی باید بهترتیب در قالب خطوط زیر چاپ شود:
_
/
، سپس یک space ، سپس اولین خط متن خروجی، سپس سپس «اندازهی طولانیترین خط در متن خروجی منهای طول خط فعلی بعلاوهی ۱» تا space و در نهایت، کاراکتر \
|
، سپس یک space ، سپس اولین خط متن خروجی، سپس «اندازهی طولانیترین خط در متن خروجی منهای طول خط فعلی بعلاوهی ۱» تا space و در نهایت، کاراکتر |
\
، سپس یک space ، سپس آخرین خط متن خروجی، سپس «اندازهی طولانیترین خط در متن خروجی منهای طول خط فعلی بعلاوهی ۱» تا space و در نهایت، کاراکتر /
-
توجه: اگر کلمهای در متن وجود داشت که طول آن از حداکثر طول یک خط در متن خروجی بیشتر بود، فقط عبارت Impossible
را چاپ کنید.
بخش مربوط به شخصیت کارتونی همراه با خطوط متصلکنندهی شخصیت کارتونی به متن بهصورت زیر است (به space های ابتدای خطوط توجه داشته باشید):
در خط اول ورودی، ابتدا عدد صحیح وارد میشود که بیانگر حداکثر طول هر خط در متن خروجی است.
در خطوط بعدی (که تعدادشان نامشخص است)، کلمات متن وارد میشوند. هر کلمه لزوماً در یک خط وارد نمیشود. مجموع طول کلمات حداکثر کاراکتر است.
در خروجی، متن نهایی را مطابق توضیحات دادهشده چاپ کنید.
یک تاس در یک وضعیت استاندارد داریم. یعنی در ابتدا عدد ۵ روی تاس است و جمع وجههای روبهروی هم برابر ۷ است.
این تاس در هر مرحله، یکی از ۶ حرکت زیر را انجام میدهد.
a
. نسبت به محور ها به صورت ساعتگرد ۹۰ درجه میچرخد.b
. نسبت به محور ها به صورت پادساعتگرد ۹۰ درجه میچرخد.c
. نسبت به محور ها به صورت ساعتگرد ۹۰ درجه میچرخد.d
. نسبت به محور ها به صورت پادساعتگرد ۹۰ درجه میچرخد.e
. نسبت به محور ها به صورت ساعتگرد ۹۰ درجه میچرخد.f
. نسبت به محور ها به صورت پادساعتگرد ۹۰ درجه میچرخد.در تنها خط ورودی یک رشته شامل کاراکتر که هر کدام یکی از حروف a
تا f
میباشد آمده است و دنبالهی حرکتهایی که روی تاس انجام شده را نشان میدهد.
در یک خط عدد وجهی از تاس که مقابل به ماست را پس از اعمال دنبالهی حرکات چاپ کنید.
مصطفی عاشق مطالعهی کتاب است. او هفتهای حداقل یک جلد کتاب میخواند. از آنجایی که او کتابهای زیادی را بهصورت همزمان مطالعه میکند، گاهی اوقات فراموش میکند که هر کتاب را دقیقاً تا کجا خوانده است. مصطفی از زمانی که با کوئرا کالج آشنا شده، به سیستم گذراندن فصلهای دورههای کوئرا کالج علاقهمند شده است و دوست دارد چنین سیستمی را برای مطالعهی کتابهایش پیادهسازی کند. از آنجایی که مصطفی دائماً مشغول مطالعه است، از شما خواسته تا این سیستم را برایش پیادهسازی کنید.
در کوئرا کالج، هر دوره شامل چندین فصل است. هر فصل یک درصد موردنیاز برای اتمام دارد. اگر درصد مطالعهی فصل بزرگتر یا مساوی این درصد شود، به این معناست که فصل تکمیل شده است. همچنین هر فصل میتواند به یک یا چند فصل دیگر وابسته باشد. در اینصورت، برای مطالعهی یک فصل باید حتماً فصلهای پیشنیاز آن را تکمیل کرد.
طبق توضیحات فوق، دستورات زیر باید در برنامه پیادهسازی شوند:
این دستور، فصلی با نام chapter_name
را به کتابی با نام book_name
با درصد موردنیاز required_percent
اضافه میکند. در صورتی که فصلی با این نام در این کتاب موجود بود، درصد موردنیاز آن را بهروزرسانی کنید.
تضمین میشود که نام کتاب و نام فصل شامل whitespace نیستند.
این دستور، فصلی با نام prerequisite_chapter_name
را به پیشنیازهای فصل chapter_name
از کتاب book_name
اضافه میکند. اگر حداقل یکی از شروط زیر برقرار باشد، هیچ اتفاقی نباید بیفتد:
book_name
موجود نباشدchapter_name
یا prerequisite_chapter_name
در کتاب book_name
موجود نباشدchapter_name
از قبل پیشنیاز مستقیم یا غیرمستقیم فصل prerequisite_chapter_name
باشداین دستور، فصلی با نام prerequisite_chapter_name
را در صورتی از پیشنیازهای فصلی با نام chapter_name
از کتاب book_name
حذف میکند که پیشنیاز مستقیمش باشد. اگر حداقل یکی از شروط زیر برقرار باشد، هیچ اتفاقی نباید بیفتد:
book_name
وجود نداشته باشدchapter_name
یا prerequisite_chapter_name
در کتاب book_name
موجود نباشددستور فوق، مشخص میکند که percent
درصد از فصلی با نام chapter_name
از کتابی با نام book_name
مطالعه شده است. تضمین میشود که مقدار percent
یک عدد صحیح عضو بازهی است. اگر فصل موردنظر قبلاً به اندازهی بیشتری مطالعه شده بود، نباید تغییری صورت گیرد. اگر حداقل یکی از شروط زیر برقرار باشد، هیچ اتفاقی نباید بیفتد:
book_name
وجود نداشته باشدchapter_name
در کتاب book_name
موجود نباشدchapter_name
(در صورت وجود) تکمیل نشده باشنداین دستور، تعداد فصلهای مطالعهشده و تعداد کل فصلهای یک کتاب را با فرمت زیر چاپ میکند:
اگر کتابی با نام book_name
موجود نبود، هیچ اتفاقی نباید بیفتد.
با اجرای این دستور، اجرای برنامه خاتمه مییابد.
ورودی شامل چندین خط است که در هر خط یکی از دستوراتی که گفته شد، وارد میشود.
همچنین در خط آخر ورودی، دستور end
وارد میشود.
تعداد دستورات ورودی حداکثر ۲۰۰۰ تا است.
پس از اجرای دستورات، خروجی دستورات stats
را چاپ کنید. خروجی هر دستور را در یک خط مجزا چاپ کنید.
امین و دوستانش چند سال است که مسابقات برنامهنویسی مختلفی بهصورت خصوصی برگزار میکنند. آنها در مسابقات خود، امتیازات شرکتکنندگان را روی کاغذ محاسبه میکنند و جدول امتیازات را نیز بهصورت دستی رسم میکنند! امین که بهتازگی با مسابقات کوئرا آشنا شده است، دریافته که جدول امتیازات مسابقات در کوئرا مشابه جدول امتیازاتی است که بهصورت دستی رسم میکنند. او از شما میخواهد برنامهای بنویسید که محاسبات مربوط به جدول امتیازات مسابقات را انجام دهد.
در کوئرا، هر فردی که حداقل یک کد در یک مسابقه ارسال کند، نامش در جدول امتیازات آن مسابقه نمایش داده میشود. هر کدی که ارسال میشود، یک زمان ارسال دارد که بهصورت نسبی از زمان شروع مسابقه محسوب میشود. هر فرد به ازای هر سؤال در مسابقه، حداکثر یک ارسال نهایی دارد که از بین کدهای ارسالشدهی فرد برای آن سؤال انتخاب میشود. بهصورت پیشفرض، کدی که بیشترین امتیاز را زودتر از سایر ارسالها دریافت کرده است بهعنوان ارسال نهایی در نظر گرفته میشود. البته شرکتکننده میتواند یک کد دلخواه را بهعنوان ارسال نهایی در نظر بگیرد.
نحوهی رتبهبندی شرکتکنندگان در جدول امتیازات بهصورت زیر است:
عدد رتبهی افراد برخلاف جایگاه در جدول امتیازات، صرفاً براساس مجموع امتیازات ارسالهای نهایی مشخص میشود. برای مثال، اگر پنج نفر امتیاز ۱۰۰۰ را کسب کرده باشند و یک نفر امتیاز ۹۰۰، عدد رتبهی پنج نفر اول برابر با ۱ و عدد رتبهی نفر ششم برابر با ۶ خواهد بود.
طبق توضیحات فوق، دستورات زیر باید در برنامه پیادهسازی شوند:
این دستور، سؤالی با شناسهی problem_id
را به مسابقهای با شناسهی contest_id
اضافه میکند. در صورتی که این سؤال از قبل در مسابقهی دیگری وجود داشت، سؤال نباید به مسابقه اضافه شود.
این دستور، یک کد ارسالی جدید با شناسهی submission_id
را برای سؤالی با شناسهی problem_id
که توسط کاربری با شناسهی user_id
در time
ثانیه پس از شروع مسابقه ارسال شده و امتیاز score
را کسب کرده است اضافه میکند. تضمین میشود که کد ارسالیای با شناسهی submission_id
از قبل وجود ندارد. اگر سؤالی با شناسهی problem_id
از قبل به مسابقهای اضافه نشده بود، نباید هیچ اتفاقی بیفتد.
توجه: اطلاعات کدهای ارسالی لزوماً بهترتیب صعودی برحسب زمان ارسال اضافه نمیشوند.
این دستور، ارسال نهایی سؤالی با شناسهی problem_id
برای کاربری با شناسهی user_id
را به کد ارسالیای با شناسهی submission_id
تغییر میدهد. اگر حداقل یکی از شرایط زیر برقرار بود، هیچ افتقای نباید بیفتد:
submission_id
موجود نباشدuser_id
ارسال نشده باشدproblem_id
نباشداین دستور، جدول امتیازات مسابقهای با شناسهی contest_id
را نمایش میدهد. افراد باید بهترتیب نزولی جایگاه نمایش داده شوند. به ازای هر نفر، یک خط بهصورت زیر باید چاپ شود:
در خط فوق:
place_no
عدد رتبهی شرکتکننده است.user_id
شناسهی فرد است.score_sum
مجموع امتیاز ارسالهای نهایی فرد است.time_sum
مجموع زمان ارسالهای نهایی غیر صفر فرد است. اگر فرد ارسال نهایی غیر صفر نداشته باشد، این عدد نباید چاپ شود.توجه: اگر مسابقهای با شناسهی contest_id
موجود نباشد یا هیچ ارسالی برای سؤالات مسابقه صورت نگرفته باشد، نباید چیزی چاپ شود.
با اجرای این دستور، اجرای برنامه خاتمه مییابد.
ورودی شامل چندین خط است که در هر خط یکی از دستوراتی که گفته شد، وارد میشود.
همچنین در خط آخر ورودی، دستور end
وارد میشود.
تعداد دستورات ورودی حداکثر ۵۰۰ تا است.
پس از اجرای دستورات، خروجی دستورات get_scoreboard
را چاپ کنید.