Ctrl K

Лучшее место для пушки

Средняя
Игровое поле — таблица grid размером m × n. В каждой клетке стоит один символ: 'W' — стена, 'E' — мишень, '0' — пустая клетка. В одну пустую клетку можно поставить лазерную пушку. Она стреляет сразу в четыре стороны — вверх, вниз, влево и вправо. Луч проходит сквозь мишени, поражая каждую на своём пути, но останавливается у первой стены (стену он не разрушает) или у края поля. Верните наибольшее число мишеней, которые можно поразить одним выстрелом. Если пустых клеток нет, верните 0.
Пример 1
grid=[["E", "0", "E"], ["0", "W", "E"], ["E", "0", "0"]] → 3

Пушка в правом нижнем углу (строка 2, столбец 2) бьёт вверх по двум мишеням в последнем столбце и влево по мишени в начале строки — всего 3.

Пример 2
grid=[["E", "W", "0", "E"]] → 1

Единственная пустая клетка видит мишень справа, а мишень слева закрыта стеной.

Пример 3
grid=[["E", "E"], ["W", "E"]] → 0

Пустых клеток нет, пушку поставить некуда — ответ 0.

Ограничения
  • 1 ≤ m, n ≤ 500
  • Все строки grid одной длины n
  • grid[i][j] — одно из 'W', 'E', '0'
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол СредняяСамый большой сплошной квадрат СредняяШаги до ближайшего нуля СредняяСамая длинная светящаяся линия Средняя
загружаем Python…
Вход
grid=[["E", "0", "E"], ["0", "W", "E"], ["E", "0", "0"]]
Ожидается
3

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