Size bir dizi arbitary, unique, 2d, integer Kartezyen koordinat verilir: örneğin [(0,0), (0,1), (1,0)]
Bir koordinatın yalnızca bir kez "ziyaret edilebilmesi" kısıtlamasıyla bu koordinat kümesinden mümkün olan en uzun yolu bulun. (Ve başladığınız koordinat için "geri dönmezsiniz").
Önemli:
Bir koordinatı veya çevresini "geçemez". Örneğin, son not örneğinde (Dikdörtgen), C'yi ziyaret etmeden D'den A'ya hareket edemezsiniz (bu bir yeniden ziyaret olabilir, bu şekilde bulunan uzunluğu geçersiz kılar). Bu @FryAmTheEggman tarafından işaret edildi.
Fonksiyon Girişi: 2d Kartezyen Koordinatlar Dizisi
Fonksiyon Çıkışı: Yalnızca maksimum uzunluk
Kazanan: En kısa kod kazanır, engellemesiz tutulur (En fazla zaman tasarrufu sağlayan değil)
Örnekler
1 : Yukarıda gösterilen bu durumda, iki kez "ziyaret edilen" koordinatı olmayan en uzun yol A -> B -> O (veya OBA veya BAO) şeklindedir ve yol uzunluğu sqrt (2) + 1 = 2.414'tür.
2 : Yukarıda gösterilen bu durumda, iki kez "ziyaret edilen" koordinatı olmayan en uzun yol ABOC'dir (ve açıkça COBA, OCAB vb.) Ve gösterilen birim karesi için sqrt (2) + sqrt (2) + olarak hesaplanır. 1 = 3.828.
Not: Aşağıda, önceki iki örnek kadar önemsiz olmayan bir ek test örneği verilmiştir. Bu 6 koordinattan oluşan bir dikdörtgendir:
Burada, uzun yol aşağıda verilmiştir: -> E -> C -> O -> D -> 8,7147 olan B
(maksimum olası diyagonallerin yürüdü ve geçilen kenarların)