المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره‌ی انتخاب تیم:دوره‌ی ۴:سوال ۶

تا کردن

نقشه‌ای به شکل مستطیل است و با خط‌های افقی و عمودی به $n$ سطر و $m$ ستون تقسیم شده است ( $m\leq 4،n\leq 8$ و $mn\leq 16$ ). این نقشه را می‌توانیم از روی خط‌ها به صورت‌های مختلفی تا بزنیم. (شکل زیر را ببنید.)

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

  • قسمت‌های مختلف نقشه سطر به سطر با حروف بزرگ $B،A$، … (تا حداکثر $P$)، مشخص شده‌اند.
  • هر «تا کردن» با سه نویسه مشخص می‌شود:
  1. $V$ برای تا کردن عمودی و $H$ برای تا کردن افقی.
  2. شماره‌ی خطی که از روی آن کاغذ را تا کرده‌ایم.
  3. قسمت تا شده: $L$ برای چپ، $R$ برای راست، $U$ برای بالا و $L$ برای پایین.
  • در شکل بالا در موقعیت اولیه، تا کردن‌های ممکن عبارت‌اند از $H2U،H1L،H1U،V3R،V3L،V2R،V2L،V1R،V1L$ و $H2L$.
  • پس از هر تا کردن، خط‌هایی را که می‌توانیم از روی آن‌ها تا کنیم، دوباره از ۱ شماره‌گذاری می‌کنیم.
  • با هر تا کردن کل نقشه و نه قسمتی از آن، تا می‌خورد.(شکل زیر را ببینید.)
  • مثال‌هایی از تا کردن را در شکل بالا می‌بینید.

ورودي

در سطر اول فایل ورودی، $n$ (تعداد سطرها)، در سطر دوم آن $m$ (تعداد ستون‌ها)و در سطر سوم رشته‌ای از $mn$ حرف که ترتیب خواسته شده را نشان می‌دهد نوشته شده است.

خروجي

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

ورودي و خروجي نمونه

ورودي نمونه خروجي نمونه
3
4
HDLFEABIJKCG
‎V1L H1U H1L V1L V1R‎

ابزار صفحه