الگوریتمستان

یادداشت‌های یک معلم علاقه‌مند به نوشتن از آنچه آموخته و یاد می‌دهد
 

  

✤  مسئله Gholam's Simple Game

آنچه در این نوشته می‌خوانید:
   •  مسئله Gholam's Simple Game
       »  ورودی برنامه
       »  خروجی برنامه

کف اتاق خواب غلام با کاشی‌های سفید و زرد پوشیده شده است. گاهی که حوصله ندارد، روی یکی از کاشی‌ها می‌ایستد و در آن ردیف از کاشی‌ها قدم می‌زند. او ابتدا عدد $n$ را انتخاب می‌کند و تنها $n$ قدم حرکت می‌کند. اگر در حین حرکت به دیوار برسد، چرخیده و در جهت خلاف به حرکت خود ادامه می‌دهد. توجه داشته باشید که خود عمل چرخش گام حساب نمی‌شود. در حین قدم زدن (یک کاشی در هر قدم) او تعداد دفعاتی که پا روی کاشی زرد گذاشته را می‌شمارد.

برای مثال، شکل زیر یک ردیف از کاشی‌های اتاق را نشان می‌دهد. رنگ کاشی‌ها با حروف 'W' و 'Y' مشخص شده‌اند که به ترتیب به معنی رنگ سفید و زرد هستند. اگر او از کاشی شماره 3 شروع کرده و تصمیم داشته باشد 7 قدم به سمت راست حرکت کند، در نهایت روی کاشی شماره 2 متوقف شده و 3 بار روی کاشی‌های زرد پا می‌گذارد.

  

مسئله Gholam's Simple Game

  

ورودی برنامه

  [برگرد بالا]

ورودی برنامه شامل T ورودی مختلف مسئله است. سطر اول همین عدد T را مشخص می‌کند. هر ورودی شامل دو سطر است. در سطر اول دو عدد m و n است که به ترتیب تعداد کاشی‌ها در ردیف و تعداد قدم‌های مد نظر غلام برای حرکت را مشخص می‌کنند ($ 3 \leq m \leq 100 $ و $ 1 \leq n \leq 1000 $). در سطر دوم $m$ عدد صحیح بین 0 تا 3 می‌آید که رنگ کاشی‌ها را به ترتیب از چپ به راست مشخص می‌کنند. اگر عدد مربوط به کاشی 0 باشد به معنی زرد بودن کاشی است. سه عدد دیگر به معنی سفید بودن کاشی هستند. با این تفاوت که عدد 2 به معنی شروع حرکت غلام از آن کاشی رو به سمت راست و عدد 3 به معنی شروع حرکت غلام از آن کاشی رو به سمت چپ است. می‌توانید (بدیهی است!) فرض کنید همواره فقط یکی از دو عدد 2‌ و 3 فقط یک بار در این دنباله ظاهر می‌شود و غلام همواره از کاشی سفید حرکت خود را شروع می‌کند.

  

2

6  7

0  1  2  0  1  0

5  3

0  3  1  0  0

  

خروجی برنامه

  [برگرد بالا]

به ازای هر ورودی، یک سطر در خروجی چاپ شود که تنها شامل تعداد دفعاتی است که غلام پا روی کاشی‌هایی با رنگ زرد گذاشته است.

3

1

  

Link: ACM-ICPC Live Archive, 5046 - Gholam's Simple Game

مسعود اقدسی فام

مسعود اقدسی فام هستم.

دانش‌آموخته علوم کامپیوتر و فعال حوزه‌های برنامه‌نویسی پایتون، علم داده و یادگیری ماشین

algs.ir/splive5046     اشتراک‌گذاری در LinkedIn     اشتراک‌گذاری در Twitter     ارسال با Telegram
نوشته‌ها از این دست
       ✦   برج هانوی
       ✦   مسئله انتخابات
       ✦   معمای هشت وزیر
آخرین نوشته‌ها
نوشته‌های پرمخاطب
  • 1
  • 2
  • 3
  • 4
  • 5

نام: *  

پست الکترونیک (محرمانه):

متن پیام: *  

01 02 06 07 08 09 10 11 12 13 14

• امیر
۱۸ فروردین ۱۳۹۶، ساعت ۲۱:۴۳

در مثال دوم تعداد قدم هارا 5 ذکر کرده اید در حالی که در وارد کردن شماره کاشی ها ، شماره 4 کاشی را ذکر کرده اید

من اشتباه میکنم یا روی مسئله اینگونه است ؟

۱۹ فروردین ۱۳۹۶، ساعت ۲۳:۰۴
• مسعود اقدسی فام

ممنون از تذکر. اصلاح شد.