Вам надається набір довільних, унікальних, 2d, цілих декартових координат: наприклад [(0,0), (0,1), (1,0)]
Знайдіть найдовший шлях із цього набору координат з обмеженням, що координату можна "відвідати" лише один раз. (І ви не «повертаєтесь» до тієї координати, яку ви почали).
Важливо:
Ви не можете "передати" координату чи навколо неї. Наприклад, в останньому прикладі примітки (Прямокутник) ви не можете перейти від D до A без відвідування C (що може бути повторним переглядом, визначивши недійсною знайдену таким чином довжину). На це вказував @FryAmTheEggman.
Функція введення: Масив 2d декартових координат
Вихід функції: Максимальна довжина лише
Переможець: Найкоротший код виграє, не затримані (Не найвищий простір-час)
Приклади
1 : У цьому випадку, показаному вище, найдовший шлях без координати, "який відвідували" двічі, - A -> B -> O (або OBA, або BAO), а довжина шляху - sqrt (2) + 1 = 2,414
2 : У цьому випадку, показаному вище, найдовший шлях без координати "відвіданий" двічі - ABOC (і, очевидно, COBA, OCAB тощо), і для показаного одиничного квадрата він обчислює до sqrt (2) + sqrt (2) + 1 = 3,828.
Примітка. Ось додатковий тестовий випадок, який не такий тривіальний, як два попередні приклади. Це прямокутник, утворений з 6 координат:
Тут найдовший шлях: A -> E -> C -> O -> D -> B, що дорівнює 8.7147
(максимум можливих діагоналей, пройдених, а ребра не проходять)