B23 - Traveling Salesman Problem
Editorial
/
Time Limit: 10 sec / Memory Limit: 1024 MB
配点: 1000 点
問題文
二次元平面上に N 個の都市があり、それぞれ 1 から N までの番号が付けられています。
都市 i の座標は (X_i, Y_i) であり、2 つの都市間を移動するには、直線距離と同じだけ時間がかかります。
すなわち、都市 i から j まで移動するのに、\sqrt{(X_i - X_j)^2 + (Y_i - Y_j)^2} 分かかります。
ある都市から出発し、すべての都市を一度ずつ通った後、出発地点に戻るためには最短何分必要でしょうか。
制約
- 2 \leq N \leq 15
- 0 \leq X_i \leq 1000
- 0 \leq Y_i \leq 1000
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられます。
N X_1 Y_1 X_2 Y_2 : X_N Y_N
出力
答えを出力してください。
絶対誤差または相対誤差が 10^{-3} 未満であれば、正解として扱われます。
入力例 1
4 0 0 0 1 1 0 1 1
出力例 1
4.000000000000
都市 1 \to 2 \to 4 \to 3 \to 1 というルートを通ると、合計距離が約 4 となります。
入力例 2
7 2 5 2 3 4 1 1 1 7 2 5 3 6 5
出力例 2
18.870481592668
都市 1 \to 2 \to 4 \to 3 \to 5 \to 6 \to 7 \to 1 というルートを通ると、合計距離が約 18.87 となります。