P5143 攀爬者

Posted zkw666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P5143 攀爬者相关的知识,希望对你有一定的参考价值。

技术图片

  解释一下题意:HKE爬山,给你几个点的坐标,爬山时必须全部经过给出的点。山是立体的,所以给出的点是对应在立体直角坐标系中的,有x,y,z;所以直接for循环全部循环一遍,每次计算距离,边走边加。不过不要忘了排序,因为HKE经过的每一个点高度 z 都比上一个点高,所以就要对 z 从小到大进行排序。

 

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>//sort排序头文件
 4 #include<cmath>
 5 using namespace std;
 6 struct zkw{
 7     int x;
 8     int y;
 9     int z;
10 };
11 zkw a[50010];
12 int cmp(zkw a,zkw b) { return a.z<b.z; }//排序参数
13 double ans=0;//ans记录答案
14 int main()
15 {
16     int n;
17     cin>>n;
18     for(int i=1;i<=n;++i)
19     {
20         cin>>a[i].x>>a[i].y>>a[i].z;
21     }
22     sort(a+1,a+n+1,cmp);//进行排序
23     for(int i=2;i<=n;++i)
24     {
25         ans+=sqrt(pow((a[i-1].x-a[i].x),2)+pow((a[i-1].y-a[i].y),2)+pow((a[i-1].z-a[i].z),2));
//按照题目中的公式计算距离并加在ans中
26 } 27 printf("%.3lf",ans); 28 return 0; 29 }

 

以上是关于P5143 攀爬者的主要内容,如果未能解决你的问题,请参考以下文章

P5143 攀爬者

P5143 攀爬者(一道水题的反思)

2021-9-4 爆肝一整天,关于2D横板游戏中攀爬楼梯的考虑

学校围墙攀爬识别检测预警 python

UDK:AdventureKit 攀爬系统

攀爬的焦急