社区讨论

SP10076 题目信息补充

SP10076 SLALOM2 - Slalom参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhjv0w3w
此快照首次捕获于
2025/11/04 08:57
4 个月前
此快照最后确认于
2025/11/04 08:57
4 个月前
查看原帖
由于这道题题面没有任何内容,这里附上一份翻译好的题面。

题目描述

马德里虽然降雪稀少,但滑雪兴趣增长,尤其是高山滑雪中的障碍滑雪。障碍滑雪的赛道由一系列门组成,滑雪者需要在两个杆之间通过,最快完成的人获胜。
在这个问题中,有一个关于滑雪的训练任务:编写一个程序计算从起点到终点通过所有门的最短路径,假设门是水平排列,滑雪者可以进行任意转弯,目标是最小化路径长度。

输入格式

每种情况的第一行给出了门的数量 nn (1n1000)(1 ≤ n ≤ 1 000)。下一行包含两个浮点数,即起始位置的笛卡尔坐标 xxyy。接下来是 nn 行,每行有三个浮点数,y,x1,x2y,x_1,x_2,这意味着下一个门是从 (x1,y)(x_1,y)(x2,y)(x_2,y) 的水平线。你可以安全地假设 x1<x2x_1 < x_2yy 的值是严格递减的,并且总是小于起始位置的值。最后一个门代表终点线。所有坐标都在 500000− 500 000 500000500 000 之间(含)。nn 的值为 00 表示输入结束。每种情况后面都有一个空行。

输出格式

对于每个测试用例,输出一条到达终点线所需的最小距离的线。你的答案应该准确到 10710^{-7} 的绝对或相对误差之内。

输入输出样例

输入 #1

CPP
2
0 2
1 1 2
0 0.5 3

3
0 4
3 1 2
2 -1 0
1 1 2

0

输出 #1

CPP
2.41421356237
4.24264068712

再告诉大家一个东西,做题时要注意一次性越过多个门的情况。

回复

1 条回复,欢迎继续交流。

正在加载回复...