題目是:http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=1016
最遠的兩點
問題描述 :
寫一個程式讀入各點座標,找出其中距離最遠的兩個點,輸出此兩點間距離的平方值。例如:若最遠的兩點座標分別為1, -1和2, 3,因 (2-1)2+(3-(-1))2=1+16=17,故輸出17。
輸入說明 :
第一行為一個正整數N,代表共有幾組測試資料。之後接下來有N行,每行中第一個為正整數M( 2 ≤ M ≤ 20 ),代表該組資料共有M個點,接下來有2M個整數,分別代表各頂點的x和y座標。
輸出說明 :
每個測試資料結果輸出於一行。
範例 :
Sample Input: |
Sample Output: |
2 |
17 |
這題用一個二維陣列存座標,再用迴圈來求得每兩個座標之間的距離,找出最大值
要用到vector跟平方,所以先打上
#include <vector>
#include <math.h>
程式一開始就是這樣
再來宣告二維陣列
vector<vector<int> >arr;
再來輸入先輸入一個整數,再按照這個整數輸入x跟y座標
要想放進vector的二維陣列中,就必須先宣告一維陣列
再把這個一維陣列放進arr中
再來是迴圈
最外層的範圍就是有幾個座標
而內層則是從j+1開始,也就是j的下一個位置
pow()就是算出幾次方,前面放底數,後面放次方
最後印出最大值,這題就OK了
若想閱讀相關文章請關注我的粉絲團
小資菜鳥向前衝
留言列表