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

دو نفر در حال بازی XO پیشرفته هستند. بازی در یک جدول \(n \times n\) انجام می‌شود. هر نفر در نوبت خود یکی از خانه‌های جدول را پر می‌کند. نفر اول با X و نفر دوم با O. خانه های خالی با - نمایش داده می‌شود. برنده زمانی مشخص می‌شود که حداقل \(a\) خانه یکسان متوالی به صورت سطری با ستونی یا قطری قرار گیرد.

جدول یکی از مراحل بازی به دست ما رسیده و می خواهیم مرحله بعد بازی را پیش بینی کنیم!

  • اگر بازی تا کنون به اتمام رسیده، Finished چاپ کنید.
  • اگر نفر اول می تواند با یک حرکت بازی را ببرد، X چاپ کنید.
  • اگر نفر دوم می تواند با یک حرکت بازی را ببرد، O چاپ کنید.
  • اگر هر دو می‌توانند با یک حرکت بازی را ببرند، Both چاپ کنید.
  • اگر هیچکدام از موارد بالا نیست، None چاپ کنید.

ورودی

خط اول ورودی دو عدد \(n\) و \(a\) با فاصله از هم آمده است. \[2 \le a \le n \le 100\] در \(n\) خط بعدی جدول بازی آمده است. خانه های خالی با - مشخص شده است.

خروجی

خروجی برنامه طبق توضیحات یکی از عبارات Finished، X، O، Both یا None است.

مثال

ورودی نمونه ۱

3 3
X-O
-XO
---

خروجی نمونه ۱

Both

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

ورودی نمونه ۲

4 3
O-OO
X---
-X-O
-XXO

خروجی نمونه ۲

Finished

۳ تا x به صورت قطری در سطر دوم تا چهارم قرار دارد و یعنی بازی تا الان پایان یافته است.

ورودی نمونه ۳

3 3
XOO
X-O
--X

خروجی نمونه ۳

X

نفر اول با گذاشتن x در خانه‌ی اول سطر سوم می‌تواند برنده شود ولی نفر دوم نمی‌تواند برنده شود.

ورودی نمونه ۴

4 4
X--X
OO--
X---
---X

خروجی نمونه ۴

None

هیچ کدام از بازیکنان با یک حرکت نمی‌توانند برنده شوند.

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