Grade hexagonal: distância

Published by xAlien95 in

Uma grade hexagonal é um design de tabuleiro de jogo comumente usado, baseado em um ladrilhamento hexagonal. Na grade a seguir, as duas posições marcadas têm uma distância mínima de 6, porque são necessários pelo menos 6 passos para chegar à segunda posição partindo da primeira.

Escreva uma função que receba como entrada uma grade hexagonal com duas posições marcadas e retorne a distância entre elas.

A grade de entrada será uma lista de strings na qual cada célula é representada por o e as duas posições marcadas por x.

Exemplos

hex_distance([
  "  o o  ",
  " o x o ",
  "  o x  ",
]) ➞ 1

hex_distance([
  "  o o  ",
  " x o o ",
  "  o x  ",
]) ➞ 2

hex_distance([
  "   o o o   ",
  "  o o o o  ",
  " o o o o o ",
  "  x o o x  ",
  "   o o o   ",
]) ➞ 3

Observações

N/A