سلام دوست عزیز😃👋

به مسابقه «کدکاپ ۸ - انتخابی ۲» خوش آمدی!

لینک‌های مفید برای شرکت در مسابقه:

می‌توانید سوال‌ها و مشکلات خود را از بخش «سوال بپرسید» با ما در میان بگذارید.

هرگونه استفاده از ابزارهای آماده‌ی تولید کد مثل chatGPT و یا تبادل کد با سایر شرکت‌کنندگان مسابقه ممنوع است و منجر به حذف شما از رقابت می‌شود.

این مسابقه آخرین مسابقه‌ی سال ۱۴۰۲ است و به نام آن عبارت «خداحافظ ۱۴۰۲» اضافه می‌شود.

موفق باشید و بهتون خوش بگذره 😉✌

خمیدگی مار


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

در شهر کدکاپ، مارها بدن‌های بسیار طولانی دارند و در تونل‌هایی به شکل جدول ۸ ×\times ۲ زندگی می‌کنند. یک مار کدکاپی مانند شکل زیر در خانه‌ی پایین چپ این جدول قرار دارد به طوری که سر این مار به سمت انتهای تونل (سمت راست تصویر) است.

توضیح تصویر

هر بار این مار یکی از ۳ حرکت زیر را انجام می‌شود:

  • حرکت F: در همان سطری که هست به خانه روبه‌رو می‌رود.
  • حرکت L: در سطر سمت چپ خودش به خانه روبه‌رو می‌رود.
  • حرکت R: در سطر سمت راست خودش به خانه روبه‌رو می‌رود.

توضیح تصویر

اگر سر این مار به خانه‌ای برود که در جدول وجود ندارد، محکم به دیوار می‌خورد و می‌میرد.

به شما حرکت‌های مار داده می‌شود، از شما می‌خواهیم وضعیت بدن مار را بعد از همه‌ی آن حرکت‌ها مشخص کنید یا بگویید که مار می‌میرد. برای بهتر متوجه شدن سوال، به توضیحات نمونه‌ها مراجعه کنید.

ورودی🔗

یک رشته به طول ۷ با کاراکترهای F، L یا R که نشان دهنده‌ی حرکت مار به مستقیم، چپ یا راست است.

خروجی🔗

دو رشته به طول ۸ شامل ۰ و ۱ که ۱ نشان دهنده‌ی حضور مار در آن خانه و ۰ نشان دهنده‌ی خالی بودن آن خانه باشد که در دو خط چاپ می‌شوند.

مثال‌ها🔗

ورودی نمونه ۱🔗

FLFFRLF
Plain text

خروجی نمونه ۱🔗

00111011
11000100
Plain text
توضیح نمونه ۱

مسیر حرکت مار به صورت زیر است.

توضیح تصویر


ورودی نمونه ۲🔗

LRLRLRR
Plain text

خروجی نمونه ۲🔗

DEATH
Plain text
توضیح نمونه ۲

بعد از انجام آخرین حرکت، سر مار به دیوار می‌خورد و می‌میرد. (چون در ستون پایینی است و نمی‌تواند پایین‌تر به راست برود.)

توضیح تصویر


اشتباهات متداول
چک کردن شرایط ورودی مسئله

نیازی نیست چک کنید شرایط گفته شده در ورودی برقرار است یا نه. توضیحات محدودیت‌ها فقط برای آگاهی شما درباره‌ی تست‌ها و محدودیت‌های مسئله است و قطعاً در ورودی‌های داده شده به برنامه‌ی شما رعایت می‌شوند. پس نیازی نیست بنویسید:

if 1 <= n <= 100:
    # answer of problem
else:
    # print('invalid input')
Python
ابتدا همه‌ی ورودی را گرفتن و در نهایت همه‌ی خروجی را چاپ کردن

شما می‌توانید لابه‌لای دریافت ورودی، خروجی دهید. پس نیازی نیست ابتدا همه‌ی ورودی‌ها را دریافت کنید و در نهایت همه‌ی خروجی‌ها را چاپ کنید. مخصوصاً برای سوالاتی که باید به چندین سوال پاسخ دهید، می‌توانید دو قسمت ورودی و خروجی را کاملاً مستقل در نظر بگیرید و مطمئن باشید تداخلی پیش نمی‌آید.

چاپ کردن موارد اضافه برای دریافت ورودی

لطفاً از چاپ کردن موارد اضافه مثل please enter a number برای دریافت ورودی پرهیز کنید. برای مثال در زبان پایتون نباید بنویسید:

input('please enter:')
Python
چند فایلی کد زدن

برای زبان‌هایی مثل جاوا نباید در بالای کد شما آدرس پکیج داده شود. برای مثال در بالای کد خود نباید بنویسید:

package ir.quera.contest;
Java
استفاده از چند Scanner برای دریافت ورودی

در زبان جاوا، باید فقط یک شئ از جنس Scanner تعریف کنید و همه‌ی ورودی‌ها را با آن دریافت کنید.

نحوه‌ی دریافت ورودی و چاپ کردن خروجی

برای آشنایی بیشتر برای نحوه‌ی دریافت ورودی و چاپ کردن خروجی این لینک را مطالعه کنید.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.