首页 > 其他分享 >每日一题 第二十五期 攀爬者

每日一题 第二十五期 攀爬者

时间:2024-03-23 10:33:54浏览次数:22  
标签:第二十五 const int double 每日 攀爬 include HKE

攀爬者

题目背景

HKE 考完 GDOI 之后跟他的神犇小伙伴们一起去爬山。

题目描述

他在地形图上标记了 N N N 个点,每个点 P i P_i Pi​ 都有一个坐标 ( x i , y i , z i ) (x_i,y_i,z_i) (xi​,yi​,zi​)。所有点对中,高度值 z z z 不会相等。HKE 准备从最低的点爬到最高的点,他的攀爬满足以下条件:

(1) 经过他标记的每一个点;

(2) 从第二个点开始,他经过的每一个点高度 z z z 都比上一个点高;

(3) HKE 会飞,他从一个点 P i P_i Pi​ 爬到 P j P_j Pj​ 的距离为两个点的欧几里得距离。即, ( X i − X j ) 2 + ( Y i − Y j ) 2 + ( Z i − Z j ) 2 \sqrt{(X_i-X_j)^2+(Y_i-Y_j)^2+(Z_i-Z_j)^2} (Xi​−Xj​)2+(Yi​−Yj​)2+(Zi​−Zj​)2

现在,HKE 希望你能求出他攀爬的总距离。

输入格式

第一行,一个整数 N N N 表示地图上的点数。

接下来 N N N 行,三个整数 x i , y i , z i x_i,y_i,z_i xi​,yi​,zi​ 表示第 i i i 个点的坐标。

输出格式

一个实数,表示 HKE 需要攀爬的总距离(保留三位小数)

样例 #1

样例输入 #1

5
2 2 2
1 1 1
4 4 4
3 3 3
5 5 5

样例输出 #1

6.928

提示

对于100%的数据, 1 ≤ N ≤ 50000 1\leq N\leq 50000 1≤N≤50000,答案的范围在 double 范围内。

#include<map>
#include<set>
#include<stack>
#include<cmath>
#include<queue>
#include<string>
#include<bitset>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<numeric>
#include<iomanip>
#define endl '\n'
using namespace std;

typedef long long ll;
typedef pair<int, int>PII;
const int N=3e5+10;
const int MOD=998244353;
const int INF=0X3F3F3F3F;
const int dx[]={-1,1,0,0,-1,-1,+1,+1};
const int dy[]={0,0,-1,1,-1,+1,-1,+1};
const int M = 1e6 + 10;

int n;

struct st{
	double x;
	double y;
	double z;
    bool operator < (const st & w) const{
		return z < w.z;
	}
}s[N];
int main()
{
	double sum;
	cin >> n;
	for(int i = 1; i <= n; i ++)
	{
		cin >> s[i].x >> s[i].y >> s[i].z;
	}
	sort(s + 1, s + 1 + n);
	for(int i = 1; i <= n - 1; i ++)
	{
		sum += sqrt((s[i + 1].x - s[i].x) * (s[i + 1].x - s[i].x) + (s[i + 1].y - s[i].y) * (s[i + 1].y - s[i].y) + (s[i + 1].z - s[i].z) * (s[i + 1].z - s[i].z));
	}
	printf("%.3lf", sum);
	return 0;
}

标签:第二十五,const,int,double,每日,攀爬,include,HKE
From: https://blog.csdn.net/2301_80882026/article/details/136949520

相关文章

  • 每日一题 第二十六期 Codeforces Round 936 (Div. 2)
    A.MedianofanArraytimelimitpertest:1secondmemorylimitpertest:256megabytesinput:standardinputoutput:standardoutputYouaregivenanarrayaa......
  • 每日一题 第二十七期 Codeforces Round 936 (Div. 2)
    B.MaximumSumtimelimitpertest:1secondmemorylimitpertest:256megabytesinput:standardinputoutput:standardoutputYouhaveanarrayaaaof......
  • 全球变暖(蓝桥杯,acwing每日一题)
    题目描述:你有一张某海域 N×N像素的照片,”.”表示海洋、”#”表示陆地,如下所示:........##.....##........##...####....###........其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 22 座岛屿。由于全球变暖导致了海面上升,科学家预测未......
  • AcWing 3498. 日期差值(每日一题)
    题目链接:3498.日期差值-AcWing题库有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入格式输入包含多组测试数据。每组数据占两行,分别表示两个日期,形式为 YYYYMMDD。输出格式每组数据输出一行,即日期差值。数据范围年份范围 [......
  • 每日总结
    eureka今天学微服务遇到了点问题导入 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>这个依赖时总是爆红  最后好像是我没有加入版本号 ......
  • 20240322每日一题题解
    20240322每日一题题解Problem输入\(n\)个不大于\(10^5\)的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。第一行输入一个正整数\(n\),表示整数个数。第二行输入\(n\)个正整数\(a_i\),以空格隔开。输出一行,依次输出\(a_i\)中剩余的质数,以空格......
  • Python函数每日一讲12 - len()
    引言在Python编程中,经常会遇到需要获取对象的长度或者元素个数的情况。而len()函数就是用来返回对象的长度或者元素个数的。通过本文的介绍,你将学习到len()函数的基本用法以及在实际应用中的一些技巧,帮助你更好地利用这一函数解决问题。语句概览len()函数用于返回对象的长度或......
  • 每日面经分享03.22(垃圾回收、内存溢出)
    1.什么是垃圾回收机制a.垃圾回收是一种自动内存管理机制,用于在程序运行时自动释放不再使用的内存空间。b.作用减少内存泄漏和提高程序的性能。2.Python中垃圾回收机制方法a.gc模块:Python提供了gc(GarbageCollector)模块,用于控制和调整垃圾回收机制的行为。通过该模......
  • 每日导数91
    隐零点代换,短除因式分解,计算量偏大已知\(f(x)=\lnx-ax+a,g(x)=(x-1)e^{x-a}-ax+1\)(1)若\(f(x)\leq0\),求\(a\)(2)当\(a\in(0,1]\)时,证明:\(g(x)\geqf(x)\)解(1)\(\lnx-ax+a\leq0\)记\(F(x)=\lnx-ax+a,F^{\prime}(x)=\dfrac{1}{x}-a\)当\(a\leq0\)时,\(F(x)\......
  • 20240321每日一题题解
    20240321每日一题题解Problem已知\(f(x,n)=\sqrt{n+\sqrt{(n-1)+\sqrt{(n-2)+\sqrt{...+2+\sqrt{1+x}}}}}\)。计算\(f\)的值。输入\(x\)和\(n\)​。输出这个函数值,并且注意需要保留两位小数。例如,输入4.210,则应该输出3.68Solution递归?循环?说实话这道题是有一定思考......