Ctrl K

Инструмент «Заливка»

Лёгкая
Картинка задана матрицей canvas размера m × n, где canvas[i][j] — цвет пикселя. Пользователь щёлкает «заливкой» с цветом paint по пикселю в строке row и столбце col. Заливка перекрашивает в paint этот пиксель и все пиксели того же исходного цвета, до которых от него можно дойти, переходя между соседями по стороне (вверх, вниз, влево, вправо) только по пикселям этого цвета. Соседи по диагонали не считаются. Верните картинку после заливки.
Пример 1
canvas=[[3, 3, 0], [0, 3, 3], [3, 0, 3]], row=0, col=1, paint=7 → [[7, 7, 0], [0, 7, 7], [3, 0, 7]]

От клетки (0, 1) по сторонам связаны тройки (0,0), (0,1), (1,1), (1,2), (2,2) — они становятся 7. Тройка в (2,0) касается остальных только углом и не меняется.

Пример 2
canvas=[[5, 5], [5, 5]], row=1, col=0, paint=5 → [[5, 5], [5, 5]]

Цвет заливки совпадает с цветом области — ничего не меняется.

Пример 3
canvas=[[1, 2, 1]], row=0, col=2, paint=0 → [[1, 2, 0]]
Ограничения
  • 1 ≤ m, n ≤ 50
  • 0 ≤ canvas[i][j], paint < 2¹⁶
  • 0 ≤ row < m
  • 0 ≤ col < n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДлина береговой линии ЛёгкаяОсушение замкнутых прудов СредняяУчастки суши на карте СредняяРамка вокруг кляксы СложнаяСамый длинный подъём по карте Сложная
загружаем Python…
Вход
canvas=[[3, 3, 0], [0, 3, 3], [3, 0, 3]], row=0, col=1, paint=7
Ожидается
[[7, 7, 0], [0, 7, 7], [3, 0, 7]]

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