board 8×8 для игры двумя цветами. Клетка board[r][c] — это '.' (пусто), 'W' (белая фишка) или 'B' (чёрная фишка).
Игрок цвета color хочет поставить фишку в пустую клетку (row, col). Ход разрешён, только если после него эта клетка станет концом *захватывающей линии* — по горизонтали, вертикали или диагонали.
Захватывающая линия — это не менее трёх подряд идущих клеток, у которых оба конца цвета color, а все клетки между ними (хотя бы одна) — противоположного цвета. Пустых клеток в линии быть не может.
Верните True, если ход разрешён, и False иначе.board=[['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', 'W', 'B', '.', '.', '.'], ['.', '.', '.', 'B', 'W', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.']], row=2, col=3, color='B' → True
Вниз от (2, 3): белая (3, 3), затем чёрная (4, 3) — линия Ч-Б-Ч, ход разрешён.
board=[['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', 'W', 'B', '.', '.', '.'], ['.', '.', '.', 'B', 'W', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.']], row=2, col=3, color='W' → False
Рядом с (2, 3) из чужих фишек только чёрная (3, 4), но за ней по диагонали пустая клетка — замкнуть линию нечем.
'.', 'W' или 'B'board[row][col] == '.'color — 'B' или 'W'board=[['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', 'W', 'B', '.', '.', '.'], ['.', '.', '.', 'B', 'W', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.']], row=2, col=3, color='B'
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 6 тестов на сервере, включая скрытые.