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

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

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

زمانی که هیچ یک از بازیکنان حرکتی نداشته باشند؛ بازی به پایان می‌رسد و بازیکنی که تعداد مهره‌های بیشتری روی صفحه داشته باشد؛ برنده است.

توضیح تصویر

نکته ۱: تنها مهره‌هایی را می‌توان تصاحب کرد که بین مهره‌ی جدید و مهره‌های قبلی محاصره شده باشند یعنی مهره‌هایی که در جریان بازی در بین مهره‌های ناهم‌رنگ قرار می‌گیرند؛ تغییر رنگ نمی‌دهند.

نکته ۲: در صورتی یکی از بازیکنان در نوبت خود، مکانی برای محاصره حریف نداشته باشد و نتواند حتی یک مهره او را محاصره کند؛ نوبت خود را از دست می‌دهد و حرکت به حریف واگذار می‌شود تا زمانی که امکان محاصره برایش ایجاد شود.

ورودی

  1. در اولین خط ورودی \(n\) (مجموع تعداد حرکت‌های بازیکن اول و دوم) وارد می‌شود.

  2. در خط دوم، حرکت بازیکنان با یک فاصله از هم وارد می‌شود. هر حرکت شامل رشته‌ی دو کاراکتری است که کاراکتر اول یکی از حروف \(A\) تا \(H\) و کاراکتر دوم عددی بین ۱ تا ۸ خواهد بود. (تضمین می‌شود که تمامی حرکت‌ها در ورودی مجاز هستند.)

\[1 \le n \le 60\]

خروجی

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

مثال

ورودی نمونه ۱

3
D3 E3 F5

خروجی نمونه ۱

6 1

توضیحات نمونه‌ی ۱

  • حرکت اول: بازیکن اول مهره تیره را در خانه‌ی \(D3\) قرار می‌دهد و مهره‌ی خانه‌ی \(D4\) را محاصره می‌کند و مهره‌ی محاصره شده تیره می‌شود.
  • حرکت دوم: بازیکن دوم مهره روشن را در خانه‌ی \(E3\) قرار می‌دهد و مهره‌ی خانه‌ی \(E4\) را محاصره می‌کند و مهره‌ی محاصره شده روشن می‌شود.
  • حرکت سوم: بازیکن اول مهره تیره را در خانه‌ی \(F5\) قرار می‌دهد و مهره‌های خانه‌ی \(E4\) و \(E5\) را محاصره می‌کند و مهره‌های محاصره شده تیره می‌شوند.

در تنها خط خروجی ابتدا امتیاز بازیکن اول (۶ مهره‌ی تیره) و سپس امتیاز بازیکن دوم (۱ مهره‌ی روشن) وارد می‌شود.

ورودی نمونه ۲

4
F5 F4 C3 C4

خروجی نمونه ۲

4 4

توضیحات نمونه‌ی ۲

  • حرکت اول: بازیکن اول مهره تیره را در خانه‌ی \(F5\) قرار می‌دهد و مهره‌ی خانه‌ی \(E5\) را محاصره می‌کند و مهره‌ی محاصره شده تیره می‌شود.
  • حرکت دوم: بازیکن دوم مهره روشن را در خانه‌ی \(F4\) قرار می‌دهد و مهره‌ی خانه‌ی \(E4\) را محاصره می‌کند و مهره‌ی محاصره شده روشن می‌شود.
  • حرکت سوم: بازیکن اول مهره تیره را در خانه‌ی \(C3\) قرار می‌دهد و مهره‌های خانه‌ی \(D4\) را محاصره می‌کند و مهره‌ی محاصره شده تیره می‌شود.
  • حرکت چهارم: بازیکن دوم مهره تیره را در خانه‌ی \(C4\) قرار می‌دهد و مهره‌های خانه‌ی \(D4\) را محاصره می‌کند و مهره‌ی محاصره شده روشن می‌شود.

در تنها خط خروجی ابتدا امتیاز بازیکن اول (۴ مهره‌ی تیره) و سپس امتیاز بازیکن دوم (۴ مهره‌ی روشن) وارد می‌شود.

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.