c316: 最遠點對!前傳
內容
在平面上有 N 個點,編號為 0~N-1,現在給你每個點的位置 (x, y)
請找出平面上哪兩個點間的距離最遠。
輸入
第一行有一個正整數 N,表示有平面上有 N 個點。
接下來 N 行每行有兩個整數 x y ,依序代表第 0 ~ N-1 個點的座標。
(1 <= N <= 1000)
(-1000 <= x, y <= 1000)
3
0 0
3 4
5 12
輸出
輸出兩個整數 i j ,中間用空白分隔,表示第 i 個點和第 j 個點離最遠 ( i < j )。
如果算出有最遠距離的點對有很多組,請輸出 i 最小的組,如果 i 一樣,則請輸出 j 最小的組。
舉例來說,假設平面上兩點間最遠的距離為 2,且第 5 個點和第 2 個點的距離為 2,第 3 個點和第 6 個點的距離亦為 2,則輸出「2 5」。
0 2
解題思路
簡單的迴圈 + 條件判斷。
一個小細節是由於 a 到 b 的距離 = b 到 a 的距離,所以計算時可以避開會重複計算到的區域。
完整程式碼
AC (5ms, 152KB)
|