題目描述
他在地形圖上標記了n個點,每個點pi都有乙個座標(xi,yi,zi)。所有點對中,高度值z不會相等。hke準備從最低的點爬到最高的點,他的攀爬滿足以下條件:
(1) 經過他標記的每乙個點;
(2) 從第二個點開始,他經過的每乙個點高度z都比上乙個點高;
(3) hke會飛,他從乙個點pi爬到pj的距離為兩個點的歐幾里得距離。即,
現在,hke希望你能求出他攀爬的總距離。
輸入格式:
第一行,乙個整數n表示地圖上的點數。
接下來n行,三個整數xi,yi,zi表示第i個點的座標。
輸出格式:
乙個實數,表示hke需要攀爬的總距離(保留三位小數)
輸入樣例#1:
52 2 2
1 1 1
4 4 4
3 3 3
5 5 5
輸出樣例#1:
6.928
解題思路:
直接把所有點按z排序,再把排序後相鄰兩點的距離加起來即可
**:var
a:array[0..50000,1..3]of extended;
i,j,n:longint;
ans:extended;
procedure qsort(l,r:longint);
vari,j:longint;
t:extended;
begin
i:=l;j:=r;
t:=a[(l+r)div 2,3];
repeat
while (a[i,3]0) do inc(i);
while (a[j,3]>t)and(j<=n) do dec(j);
if i<=j then begin
a[0]:=a[i];
a[i]:=a[j];
a[j]:=a[0];
inc(i);dec(j);
end;
until i>j;
if lif iend;
begin
readln(n);
for i:=1 to n do
readln(a[i,1],a[i,2],a[i,3]);
qsort(1,n);
for i:=2 to n do
ans:=ans+sqrt(sqr(a[i,1]-a[i-1,1])+sqr(a[i,2]-a[i-1,2])+sqr(a[i,3]-a[i-1,3]));
writeln(ans:0:3);
end.
洛谷 P1071 潛伏者
題目描述 r 國和 s 國正陷入戰火之中,雙方都互派間諜,潛入對方內部,伺機行動。歷盡艱險後,潛伏於 s 國的 r 國間諜小 c 終於摸清了 s 用密碼的編碼規則 1 s 方內部欲傳送的原資訊經過加密後在網路上傳送,原資訊的內容與加密後所得的內容均由大寫字母 a z 構成 無空格等其他字元 2 s ...
《終結者 洛谷》第3章
soha 大家堅持住啊!一定要殺出去!soha身邊只剩下vercont和一扶蘇一2個人了 high score率領這近200個綠名士兵將soha 一次又一次的打敗,也逐漸縮小包圍圈,soha危在旦夕 vercont和 一扶蘇一拿著分塊盾牌拼死抵擋,但馬上要堅持不住了 難道,我們要葬身此地了 忽然,乙...
題解 洛谷P1071 潛伏者
題意概括 給你一段原來截獲的英文密碼和與之對應的明文,如果密碼表非f a法,輸出 failed 否則翻譯現在給你的一句密文並輸出。所有字母均為大寫 有兩種情況視為密碼表非法 1 所有資訊掃瞄完畢,但發現有字母在原資訊中沒有出現 密碼表脫漏 2 掃瞄中發現掌握的資訊裡有明顯的自相矛盾或錯誤 密碼表錯亂...