Conteúdos Utilizados:
Primeiro, é necessário notar que, para a máquina ser capaz de colher um ponto $$(i, j)$$, a distância do menor caminho entre a posição inicial da máquina deve ser menor que ou igual à menor distancia entre qualquer posição de musgos inicialmente, ou a máquina deve ser capaz de alcançar o ponto, enquanto nenhum musgo o alcança. Além disso, o ponto deve estar no maior caminho que a máquina consegue percorrer.
Podemos então utilizar a técnica de Multisource BFS, ou seja, iniciar a fila da BFS com vários vértices. Podemos usar uma BFS partindo de todos os musgos no inicio, e encontrar assim, a menor distancia de qualquer ponto que pode ser alcançado por musgos, ao musgo mais próximo. Então, executamos uma BFS partindo da máquina, e encontramos a menor distância de cada ponto alcançável, em relação a máquina. Então, verificamos todos os pontos no grid, e o ponto com a maior distancia da colheitadeira, que seja menor que ou igual a distancia do musgo mais próximo.
Segue o código, comentado, para melhor entendimento.
https://gist.github.com/PedroRacchetti/7db8455eed601f0a6707c30241858122
