PAT 1082 射擊比賽 20 分

2021-09-22 08:24:11 字數 877 閱讀 6108

本題目給出的射擊比賽的規則非常簡單,誰打的彈洞距離靶心最近,誰就是冠軍;誰差得最遠,誰就是菜鳥。本題給出一系列彈洞的平面座標(x,y),請你編寫程式找出冠軍和菜鳥。我們假設靶心在原點(0,0)。

輸入在第一行中給出乙個正整數 n(≤ 10 000)。隨後 n 行,每行按下列格式給出:

id x y 其中 id 是運動員的編號(由 4 位數字組成);x 和 y 是其打出的彈洞的平面座標(x,y),均為整數,且 0 ≤ |x|, |y| ≤ 100。題目保證每個運動員的編號不重複,且每人只打 1 槍。

輸出冠軍和菜鳥的編號,中間空 1 格。題目保證他們是唯一的。

3

0001 5 7

1020 -1 3

0233 0 -1

0233 0001
用結構體儲存每個選手的資訊,在讀取乙個選手資訊的同時,計算其離靶心的距離

然後用自定義排序,按照sum大小,從小到大排序,sum越小,離靶心越近

最後輸出nm.id就是冠軍編號,同理菜鳥編號為nm【n-1】.id

#include

#include

using namespace std;

struct xuanshou

;bool cmp

(xuanshou a,xuanshou b)

//自定義排序

intmain()

sort

(nm,nm+n,cmp)

;//按sum大小從小到大排序

cout<.id<<

" "<.id;

//輸出第乙個和最後乙個,分別是冠軍和菜鳥

return0;

}

PAT 1082 射擊比賽 20

本題目給出的射擊比賽的規則非常簡單,誰打的彈洞距離靶心最近,誰就是冠軍 誰差得最遠,誰就是菜鳥。本題給出一系列彈洞的平面座標 x,y 請你編寫程式找出冠軍和菜鳥。我們假設靶心在原點 0,0 輸入格式 輸入在第一行中給出乙個正整數 n 10 000 隨後 n 行,每行按下列格式給出 id x y 其中...

PAT 1082 射擊比賽 20

本題目給出的射擊比賽的規則非常簡單,誰打的彈洞距離靶心最近,誰就是冠軍 誰差得最遠,誰就是菜鳥。本題給出一系列彈洞的平面座標 x,y 請你編寫程式找出冠軍和菜鳥。我們假設靶心在原點 0,0 輸入格式 輸入在第一行中給出乙個正整數 n 10 000 隨後 n 行,每行按下列格式給出 id x y其中 ...

PAT 1082 射擊比賽 python

本題目給出的射擊比賽的規則非常簡單,誰打的彈洞距離靶心最近,誰就是冠軍 誰差得最遠,誰就是菜鳥。本題給出一系列彈洞的平面座標 x,y 請你編寫程式找出冠軍和菜鳥。我們假設靶心在原點 0,0 輸入格式 輸入在第一行中給出乙個正整數 n 10 000 隨後 n 行,每行按下列格式給出 id x y 其中...