很水的题目
只是为了练练手
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
struct b{
double x;
double y;
double z;
}zn[500001];
bool cmp( b x,b y){
return x.z<y.z;
}
double now,ans;
double con(int x,int y){
return sqrt((zn[x].x-zn[y].x)*(zn[x].x-zn[y].x)+(zn[x].y-zn[y].y)*(zn[x].y-zn[y].y)+(zn[x].z-zn[y].z)*(zn[x].z-zn[y].z));
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%lf%lf%lf",&zn[i].x,&zn[i].y,&zn[i].z);
}
sort(zn+1,zn+n+1,cmp);
for(int i=1;i<n;++i){
ans+=con(i,i+1);
}
printf("%.3lf",ans);
return 0;
}