排序——攀登者
输入输出样例
输入样例
5
2 2 2
1 1 1
4 4 4
3 3 3
5 5 5
输出样例
6.928
说明/提示
对于 100% 的数据,1 ≤ N ≤ 50000,答案的范围在 double 范围内。
#include<bits/stdc++.h>
using namespace std;
struct node{
double x,y,z;
}f[50005];
bool cmp(node a,node b)
{
return a.z<b.z;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>f[i].x>>f[i].y>>f[i].z;
}
sort(f,f+n,cmp);
double sum=0;
for(int i=0;i<n-1;i++){
sum+=sqrt((f[i].x-f[i+1].x)*(f[i].x-f[i+1].x)+(f[i].y-f[i+1].y)*(f[i].y-f[i+1].y)+(f[i].z-f[i+1].z)*(f[i].z-f[i+1].z));
}
printf("%.3lf\n",sum);
return 0;
}