编程题
### 问题描述 已知了飞行器的起点和终点以及 $n$ 个休息站的坐标,问起点到终点的最短路径是多少? 限制:飞行器不能长期飞行,必须中途在某结点下停下休息(即连续飞行距离应不大于 $m$)。 欧涛师兄很想在师妹面前大展身手,你能帮助他解决这个问题吗? ### 输入格式 第一行输入两个数,整数 $n$ 和浮点数 $m$。 第二行输入六个浮点数 $x_1,y_1,z_1,x_2,y_2,z_2$。分别代表起点坐标 $(x_1,y_1,z_1)$ 和终点坐标 $(x2,y2,z2)$。 紧接着下面 $n$ 行,每行依次输入三个浮点数,代表休息站的坐标 $(a_i,b_i,c_i)$,休息站编码依次为 $1,2,...,n$。 ### 输出格式 输出满足条件的起点到终点的最短距离长度(结果保留三位小数)。 依次输出飞行器经过站台的编码(休息站编码为 $1$ 到 $n$,起点编码 Start,终点编码 End)。 若不能到达终点输出 $-1$。 ### 输入样例 ```c++ 4 5 0 0 0 6 6 0 -1 1 0 5 6 0 3 4 0 6 1 0 ``` ### 输出样例 ```c++ 8.606 Start 3 End ``` ### 数据范围 对于 $100\%$ 的数据 $n\le 600,10^9\le x_1,y_1,z_1,x_2,y_2,z_2,a_1,a_2,...,a_n\le 10^9$。
查看答案
赣ICP备20007335号-2