On vous fournit un ensemble de coordonnées cartésiennes arbitraires, uniques, 2D: par exemple [(0,0), (0,1), (1,0)]
Trouvez le chemin le plus long possible à partir de cet ensemble de coordonnées, avec la restriction qu'une coordonnée ne peut être "visitée" qu'une seule fois. (Et vous ne "revenez" pas aux coordonnées à partir desquelles vous avez commencé).
Important:
Vous ne pouvez pas "passer" sur une coordonnée ou autour d'elle. Par exemple, dans le dernier exemple de note (Rectangle), vous ne pouvez pas passer de D à A sans visiter C (ce qui peut être une nouvelle visite, invalidant la longueur ainsi trouvée). Cela a été souligné par @FryAmTheEggman.
Entrée de fonction: tableau de coordonnées cartésiennes
2D Sortie de fonction: longueur maximale uniquement
Gagnant: le code le plus court gagne, aucune restriction n'est imposée (pas le plus efficace en termes d'espace-temps)
Exemples
1 : Dans ce cas ci-dessus, le chemin le plus long sans coordonnées "visitées" deux fois est A -> B -> O (ou OBA, ou BAO), et la longueur du chemin est sqrt (2) + 1 = 2.414
2 : Dans ce cas illustré ci-dessus, le chemin le plus long sans coordonnées "visitées" deux fois est ABOC (et évidemment COBA, OCAB etc.), et pour le carré unitaire affiché, il calcule en sqrt (2) + sqrt (2) + 1 = 3,828.
Remarque: Voici un cas de test supplémentaire qui n'est pas aussi trivial que les deux exemples précédents. Il s'agit d'un rectangle formé de 6 coordonnées:
Ici, le chemin le plus long est: A -> E -> C -> O -> D -> B, qui est 8.7147
(max diagonales possibles parcourues et sans arêtes traversées)