Você recebe um conjunto de coordenadas cartesianas arbitrárias, únicas, 2d, inteiras: por exemplo, [(0,0), (0,1), (1,0)]
Encontre o caminho mais longo possível desse conjunto de coordenadas, com a restrição de que uma coordenada possa ser "visitada" apenas uma vez. (E você não "volta" para a coordenada em que começou).
Importante:
Você não pode "passar" uma coordenada ou em torno dela. Por exemplo, no exemplo da última nota (Retângulo), você não pode passar de D para A sem visitar C (que pode ser uma nova visita, invalidando o comprimento encontrado). Isso foi apontado por @FryAmTheEggman.
Entrada de Função: Matriz de Coordenadas Cartesianas 2d
Saída de Função: Somente comprimento máximo
Vencedor: O código mais curto vence, não é impedido (Não é o mais eficiente em termos de espaço-tempo)
Exemplos
1 : Neste caso, mostrado acima, o caminho mais longo sem coordenada "visitada" duas vezes é A -> B -> O (ou OBA ou BAO), e o comprimento do caminho é sqrt (2) + 1 = 2.414
2 : neste caso mostrado acima, o caminho mais longo sem coordenadas "visitadas" duas vezes é ABOC (e obviamente COBA, OCAB etc.) e, para o quadrado da unidade mostrado, ele calcula para sqrt (2) + sqrt (2) + 1 = 3,828.
Nota: Aqui está um caso de teste adicional que não é tão trivial quanto os dois exemplos anteriores. Este é um retângulo formado por 6 coordenadas:
Aqui, o caminho mais longo é: A -> E -> C -> O -> D -> B, que é 8,7147
(máximas possíveis diagonais andadas e sem arestas atravessadas)