O caminho mais curto
Dada uma grade retangular de m por n espaços, representados por 0, e uma quantidade de pontos, representados por 1, 2, 3..., retorne o número de movimentos do caminho mais curto que começa em 1 e passa por todos os outros pontos em ordem crescente.
Exemplos
shortest_path([
("001"),
("002"),
("003")
]) ➞ 2
shortest_path([
("00000"),
("01006"),
("02000"),
("30050"),
("00004")
]) ➞ 13
shortest_path([
("00020000"),
("01000000")
]) ➞ 3Observações
- Apenas movimentos horizontais e verticais são permitidos.
- Cada movimento de um lugar para outro adjacente conta como 1, independentemente da direção.
- Os pontos variam de 1 a no máximo 9, sem dígitos repetidos ou ausentes.