Foi um dia longo para Matt. Depois de trabalhar no Edabit por um bom tempo, ele decidiu sair para tomar uma cerveja no bar local, a alguns quilômetros pela estrada. No entanto, Matt não percebeu que, depois de beber demais, não consegue mais encontrar direito o caminho de volta para casa. Seu objetivo é ajudar Matt a voltar para casa dizendo quanto mede o caminho até sua casa se ele dirigir pela rota ideal.
Matt vive em um mundo simples: há apenas terra (representada por um ponto), uma única casa (a casa de Matt, representada pela letra "h") e árvores (representadas pela letra "t"), pelas quais ele obviamente não pode dirigir. Matt tem uma quantidade ilimitada de movimentos e, a cada movimento, pode seguir para norte, nordeste, leste, sudeste, sul, sudoeste, oeste e noroeste. Haverá apenas um Matt e uma casa, que é a de Matt.
O mundo é fornecido como uma string delimitada por vírgulas que representa as células do mundo do canto superior esquerdo ao canto inferior direito. Um mundo 3x3 com Matt no canto superior esquerdo e sua casa no canto inferior direito, com uma árvore no centro, seria representado assim:
m,.,.,.,t,.,.,.,hA resposta para esse mundo seria 3: Matt se moveria primeiro para leste, depois para sudeste e então para sul (ou sul > sudeste > leste). A chamada de função relacionada a este exemplo seria a seguinte:
get_path_length("m,.,.,.,t,.,.,.,h", 3, 3)Se Matt não conseguir chegar em casa a partir de sua localização atual, retorne -1; caso contrário, retorne a quantidade de movimentos que Matt precisa fazer para chegar em casa seguindo o caminho ideal. Você recebe o mundo, sua largura e sua altura.
Boa sorte!