Q6

mail@pastecode.io avatar
unknown
python
a year ago
1.8 kB
2
Indexable
Never
n, a = map(int, input().split())

# خواندن جدول بازی
board = []
for i in range(n):
    row = input().strip()
    board.append(row)

# برای بررسی سطرها، ستون‌ها و قطرها، از تابع check_winner استفاده می‌کنیم
def check_winner(symbol):
    # بررسی سطرها
    for i in range(n):
        count = 0
        for j in range(n):
            if board[i][j] == symbol:
                count += 1
                if count == a:
                    return True
            else:
                count = 0

    # بررسی ستون‌ها
    for j in range(n):
        count = 0
        for i in range(n):
            if board[i][j] == symbol:
                count += 1
                if count == a:
                    return True
            else:
                count = 0

    # بررسی قطرها
    for i in range(n-a+1):
        for j in range(n-a+1):
            count = 0
            for k in range(a):
                if board[i+k][j+k] == symbol:
                    count += 1
                    if count == a:
                        return True
                else:
                    count = 0

    for i in range(n-a+1):
        for j in range(n-a+1):
            count = 0
            for k in range(a):
                if board[i+k][j+a-1-k] == symbol:
                    count += 1
                    if count == a:
                        return True
                else:
                    count = 0

    return False

# بررسی برنده بودن بازی
if check_winner('X'):
    if check_winner('O'):
        print('Both')
    else:
        print('X')
elif check_winner('O'):
    print('O')
elif '-' not in board[0]:
    print('Finished')
else:
    print('None')