def is_solved(board):
    # Переводим входные данные в список списков, чтобы функция 
    # не ломалась, если на вход прилетит кортеж (tuple)
    b = []
    for row in board:
        b.append(list(row))

    # 1. Проверяем все 3 строки
    for i in range(3):
        if b[i][0] != 0 and b[i][0] == b[i][1] == b[i][2]:
            return b[i][0]

    # 2. Проверяем все 3 столбца
    for i in range(3):
        if b[0][i] != 0 and b[0][i] == b[1][i] == b[2][i]:
            return b[0][i]

    # 3. Проверяем главную диагональ
    if b[0][0] != 0 and b[0][0] == b[1][1] == b[2][2]:
        return b[0][0]

    # 4. Проверяем побочную диагональ
    if b[0][2] != 0 and b[0][2] == b[1][1] == b[2][0]:
        return b[0][2]

    # 5. Если никто не выиграл, проверяем, есть ли пустые клетки (нули)
    has_empty = False
    for row in b:
        if 0 in row:
            has_empty = True

    if has_empty == True:
        return -1  # Игра ещё не закончена

    # 6. Если пустых клеток нет и никто не выиграл — это ничья
    return 0


test_board = [[1, 1, 1], [0, 2, 2], [0, 0, 0]]
print("Результат проверки поля:", is_solved(test_board))

