GRID//RUNNER

ROTTING ORANGES MEDIUM

problema

Uma caixa é uma grade R × C em que cada célula vale 0 (vazia), 1 (laranja fresca) ou 2 (laranja podre). A cada minuto, toda laranja fresca vizinha (cima, baixo, esquerda ou direita) de uma podre também apodrece.

Retorne o número mínimo de minutos até não sobrar nenhuma laranja fresca, ou -1 se alguma nunca apodrecer.

Exemplo 1 · [[2,1,1],[1,1,0],[0,1,1]] → 4

A podridão sai do canto (0,0) e a última a apodrecer é a do canto oposto, (2,2), no minuto 4.

Exemplo 2 · [[2,1,1],[0,1,1],[1,0,1]] → -1

A laranja em (2,0) está cercada por células vazias e pela borda: nunca apodrece.

Exemplo 3 · [[0,2]] → 0

Não há laranja fresca: a resposta já é 0 minutos.

Restrições: 1 ≤ R, C ≤ 10 · cada célula é 0, 1 ou 2