Ctrl K

Дождь стекает в оба моря

Средняя
Остров разбит на клетки, elevation[r][c] — высота клетки в строке r и столбце c. Верхний и левый края острова омывает одно море, нижний и правый — другое. После дождя вода из клетки перетекает в соседнюю по стороне клетку, если та не выше текущей. С любой клетки на краю вода стекает в прилегающее к этому краю море. Верните координаты [r, c] всех клеток, с которых вода может добраться до обоих морей. Порядок клеток в ответе не важен.
Пример 1
elevation=[[3, 3, 4], [2, 1, 5], [4, 6, 2]] → [[0, 2], [1, 2], [2, 0], [2, 1]]

Например, с (0, 2) вода сразу уходит в Северное море (верхний край) и в Восточный океан (правый край), а с (1, 1) — высота 1 — стечь некуда, все соседи выше. Клетка (2, 0) сама касается обоих побережий.

Пример 2
elevation=[[5, 5], [5, 5]] → [[0, 0], [0, 1], [1, 0], [1, 1]]

Вода течёт и по ровной поверхности, а каждая клетка 2 × 2 стоит у обоих побережий.

Пример 3
elevation=[[7]] → [[0, 0]]
Ограничения
  • 1 ≤ число строк, число столбцов ≤ 200
  • 0 ≤ elevation[r][c] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОсушение замкнутых прудов СредняяУчастки суши на карте СредняяОстановится ли шарик в цели СредняяКратчайший путь катящегося шарика СредняяОткрыть клетку на минном поле Средняя
загружаем Python…
Вход
elevation=[[3, 3, 4], [2, 1, 5], [4, 6, 2]]
Ожидается
[[0, 2], [1, 2], [2, 0], [2, 1]]

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