- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
دو نفر در حال بازی 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
هیچ کدام از بازیکنان با یک حرکت نمیتوانند برنده شوند.
ارسال پاسخ برای این سؤال