Ctrl K

Под ударом ладьи

Лёгкая
Дана шахматная доска 8 × 8 в виде списка строк board. На ней ровно одна белая ладья 'R', сколько-то белых слонов 'B' и чёрных пешек 'p'; пустые клетки обозначены '.'. Ладья ходит по прямой — вверх, вниз, влево или вправо — на любое число клеток, но не перепрыгивает фигуры: путь заканчивается на первой занятой клетке или у края доски. Пешка под ударом, если ладья может встать на её клетку за один ход, то есть пешка — первая фигура на одном из четырёх направлений. Верните, сколько пешек сейчас под ударом ладьи.
Пример 1
board=[[".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", "p", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", "p", "B", ".", "R", ".", "p", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", "B", ".", ".", "."], [".", ".", ".", ".", "p", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."]] → 2

Ладья стоит в строке 3, столбце 4. Вверх — пешка, вправо — пешка. Влево первым стоит слон, он закрывает пешку за собой; вниз тоже слон. Ответ 2.

Пример 2
board=[["R", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], ["p", "p", ".", ".", ".", ".", ".", "."]] → 1

Ладья в углу. Пешка в нижнем левом углу стоит в том же столбце и ничем не закрыта; вторая пешка не на линии ладьи. Ответ 1.

Ограничения
  • board — 8 строк по 8 клеток
  • каждая клетка — 'R', 'B', 'p' или '.'
  • ладья 'R' на доске ровно одна
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПереложить в другой лоток ЛёгкаяЗеркало и негатив ЛёгкаяСтроки становятся столбцами ЛёгкаяПрокрутка сетки ЛёгкаяЧем кончилась партия в крестики-нолики Лёгкая
загружаем Python…
Вход
board=[[".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", "p", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", "p", "B", ".", "R", ".", "p", "."], [".", ".", ".", ".", ".", ".", ".", "."], [".", ".", ".", ".", "B", ".", ".", "."], [".", ".", ".", ".", "p", ".", ".", "."], [".", ".", ".", ".", ".", ".", ".", "."]]
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 60 тестов на сервере, включая скрытые.