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