問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
幾何学における距離概念にユークリッド距離とマンハッタン距離というものがあります。
ユークリッド距離では、二点 P_1(x_1,y_1), P_2(x_2,y_2) の間の距離 len(P1,P2) を次のように定義しています。len(P_1,P_2) = sqrt( (x_1 - x_2)^2 + (y_1 - y_2)^2 )
(sqrt(A) は ルート A, つまり A の平方根を表す)
一方、マンハッタン距離では二点 P_1(x_1,y_1), P_2(x_2,y_2) の間の距離 len(P1,P2) を次のように定義しています。len(P_1,P_2) = |x_1 - x_2| + |y_1 - y_2|
地点 P の座標と、1〜N(>3) 番の番号が振られた地点 F_1, ..., F_N の座標が与えられるので、ユークリッド距離で計算した際に地点 P からの距離が近い 3 地点の番号と、マンハッタン距離で計算した際に地点 P からの距離が近い 3 地点の番号を求めてください。
ただし距離が同じ地点が複数存在する場合、番号が小さい地点ほど近い地点であるものとしてください。
P_x P_y
N
x_1 y_1
...
x_N y_N
地点 P にユークリッド距離が 1 番近い地点の番号
地点 P にユークリッド距離が 2 番目に近い地点の番号
地点 P にユークリッド距離が 3 番目に近い地点の番号
地点 P にマンハッタン距離が 1 番近い地点の番号
地点 P にマンハッタン距離が 2 番目に近い地点の番号
地点 P にマンハッタン距離が 3 番目に近い地点の番号
・3 ≦ N ≦ 100
・1 ≦ P_x, P_y ≦ 1000
・1 ≦ x_i, y_i ≦ 1000 (1 ≦ i ≦ N)
100 100
3
103 103
101 105
102 104
1
3
2
1
2
3
100 100
3
100 100
123 123
120 120
1
3
2
1
3
2