P5143 攀爬者 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include <iostream>
#include <math.h>
#include <algorithm>
#define int long long
double ans=0;
using namespace std;
const int N = 1e5 + 10;
struct clim
{
int x,y,z;
}a[N];
bool cmp(clim x,clim y)
{
return x.z<y.z;
}
signed main()
{
int t;
cin >> t;
for(int i = 0;i < t;i ++)
{
scanf("%lld%lld%lld",&a[i].x,&a[i].y,&a[i].z);
}
sort(a,a+t,cmp);
for(int i = 1;i < t;i ++)
{
ans+=sqrt((a[i].x-a[i-1].x)*(a[i].x-a[i-1].x)+(a[i].y-a[i-1].y)*(a[i].y-a[i-1].y)+(a[i].z-a[i-1].z)*(a[i].z-a[i-1].z));
}
printf("%.3lf",ans);
return 0;
}