Ctrl K

Крест на минном поле

Средняя
Поле — квадрат size × size. Все клетки свободны, кроме заминированных: каждая пара [r, c] в mines означает мину в строке r, столбце c. **Крест размера k** — это свободная клетка-центр и четыре луча из свободных клеток длиной k - 1 вверх, вниз, влево и вправо. Крест размера 1 — одна свободная клетка. Что находится за концами лучей, неважно. Верните размер наибольшего креста, который можно разместить на поле, или 0, если свободных клеток нет.
Пример 1
size=5, mines=[[0, 0], [4, 1]] → 3

Центр в клетке (2, 2): все четыре луча по 2 клетки свободны (мины в (0, 0) и (4, 1) на них не попадают). Это крест размера 3 — больше на поле 5×5 не бывает.

Пример 2
size=2, mines=[[0, 0], [1, 1]] → 1

Свободны только (0, 1) и (1, 0); рядом с каждой из них край поля или мина, так что помещается только крест размера 1.

Пример 3
size=1, mines=[[0, 0]] → 0

Единственная клетка заминирована — креста нет, ответ 0.

Ограничения
  • 1 ≤ size ≤ 500
  • 0 ≤ len(mines) ≤ 5000
  • 0 ≤ r, c < size
  • Все пары в mines различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
size=5, mines=[[0, 0], [4, 1]]
Ожидается
3

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