GRID//RUNNER

FLOOD FILL EASY

problema

Uma imagem é uma grade R × C de inteiros, e cada inteiro é a cor de um pixel. Você recebe um pixel inicial (sr, sc) e uma cor nova cor. Pinte com cor o pixel inicial e todos os pixels ligados a ele (na horizontal ou na vertical) que têm a mesma cor original dele. É a ferramenta "balde de tinta" de um editor de imagens. Retorne a imagem pintada.

Visto como grafo: cada pixel é um nó, e pixels vizinhos com a mesma cor são ligados. A região a pintar é o componente conexo do pixel inicial, e uma DFS ou BFS a partir dele visita exatamente essa região.

Exemplo 1 · [[1,1,0,0],[1,0,0,1],[1,1,0,1]], início (0, 0), cor = 3 → [[3,3,0,0],[3,0,0,1],[3,3,0,1]]

Os cinco 1 da esquerda formam uma região e viram 3. Os dois 1 da direita também valem 1, mas não encostam na região inicial: continuam 1.

Exemplo 2 · [[2,2],[2,0]], início (0, 0), cor = 2 → [[2,2],[2,0]]

A cor nova é igual à original: nada muda. Esse caso precisa de um teste próprio, porque a tinta é o que marca um pixel como visitado. Se ela não muda nada, a busca voltaria aos mesmos pixels para sempre.

Restrições: 1 ≤ R, C ≤ 50 · 0 ≤ image[i][j], cor < 2¹⁶ · 0 ≤ sr < R · 0 ≤ sc < C