Bạn được cung cấp một tập hợp tọa độ Cartesian số nguyên, duy nhất, 2d, số nguyên: vd [(0,0), (0,1), (1,0)]
Tìm đường dẫn dài nhất có thể từ bộ tọa độ này, với hạn chế là tọa độ chỉ có thể được "truy cập" một lần. (Và bạn không "quay lại" với tọa độ bạn đã bắt đầu).
Quan trọng:
Bạn không thể "vượt qua" một tọa độ hoặc xung quanh nó. Chẳng hạn, trong ví dụ ghi chú cuối cùng (Hình chữ nhật), bạn không thể di chuyển từ D sang A mà không truy cập C (có thể là xem lại, làm mất hiệu lực độ dài do đó tìm thấy). Điều này đã được chỉ ra bởi @FryAmTheEggman.
Đầu vào chức năng: Mảng của tọa độ Cartesian 2d
Đầu ra chức năng: Chỉ độ dài tối đa
Người chiến thắng: Mã ngắn nhất thắng, không bị cấm (Không phải là hiệu quả nhất về không gian)
Ví dụ
1 : Trong trường hợp này được hiển thị ở trên, đường dẫn dài nhất không có tọa độ "truy cập" hai lần là A -> B -> O (hoặc OBA hoặc BAO) và độ dài đường dẫn là sqrt (2) + 1 = 2.414
2 : Trong trường hợp được hiển thị ở trên, đường dẫn dài nhất không có tọa độ "truy cập" hai lần là ABOC (và rõ ràng là COBA, OCAB, v.v.) và đối với hình vuông đơn vị được hiển thị, nó tính toán thành sqrt (2) + sqrt (2) + 1 = 3,828.
Lưu ý: Đây là một trường hợp thử nghiệm bổ sung không tầm thường như hai ví dụ trước. Đây là một hình chữ nhật được hình thành từ 6 tọa độ:
Ở đây, con đường dài nhất là: A -> E -> C -> O -> D -> B, là 8.7147
(đường chéo tối đa có thể đi và không có cạnh nào đi qua)