题目背景
噜噜 非常喜欢旅行!今天,噜噜决定穿越一片神秘的草原,前往遥远的目的地。然而,草原中有一条蜿蜒的河流,河流横跨草原,长度是无限的。为了确保能够最短时间内到达目的地,噜噜决定选择一个最优的喝水点,横跨这条河流。
现给定噜噜的起始坐标 (x1,y1) 和目的地坐标 (x2,y2),以及河流所在的 y=n 处。请你帮噜噜找到一个最佳的喝水点 (x,n),使得从起点到喝水点,再到目的地的总距离最短。
题目描述
给定两个点 (x1,y1) 和 (x2,y2),其中 y2>y1 且已知在 y=n 处有一条河流,假设河流是无限长的。请通过枚举所有可能的喝水点 (x,n),计算每个点的总旅行距离,并找出最短的距离。最后输出最优的喝水坐标 x。
输入格式
x1 y1
x2 y2
n
- 第一行:两个整数 x1 和 y1 表示初始坐标。
- 第二行:两个整数 x2 和 y2 表示目的地坐标。
- 第三行:一个整数 n 表示河流所在的 y 坐标。
输出格式
x
输出一个整数 x,表示最佳喝水点的 x 坐标。
示例输入输出
输入 1
0 1
4 5
3
输出 1
2
输入 2
1 2
5 7
4
输出 2
3
说明/提示
示例 1:
起点为 (0,1),目的地为 (4,5),河流所在的 y=3 处。最优的喝水点为 (2,3),此时总旅行距离最短。
枚举过程:
-
喝水点 (0, 3):
- 从 (0,1) 到 (0,3) 的距离:(0−0)2+(3−1)2=2
- 从 (0,3) 到 (4,5) 的距离:(0−4)2+(3−5)2=4.472
- 总距离:2+4.472=6.472
-
喝水点 (1, 3):
- 从 (0,1) 到 (1,3) 的距离:(1−0)2+(3−1)2=2.236
- 从 (1,3) 到 (4,5) 的距离:(1−4)2+(3−5)2=3.605
- 总距离:2.236+3.605=5.841
-
喝水点 (2, 3):
- 从 (0,1) 到 (2,3) 的距离:(2−0)2+(3−1)2=2.828
- 从 (2,3) 到 (4,5) 的距离:(2−4)2+(3−5)2=2.828
- 总距离:2.828+2.828=5.656
-
喝水点 (3, 3):
- 从 (0,1) 到 (3,3) 的距离:(3−0)2+(3−1)2=3.605
- 从 (3,3) 到 (4,5) 的距离:(3−4)2+(3−5)2=2.236
- 总距离:3.605+2.236=5.841
-
喝水点 (4, 3):
- 从 (0,1) 到 (4,3) 的距离:(4−0)2+(3−1)2=4.472
- 从 (4,3) 到 (4,5) 的距离:(4−4)2+(3−5)2=2
- 总距离:4.472+2=6.472
-
喝水点 (5, 3):
- 从 (0,1) 到 (5,3) 的距离:(5−0)2+(3−1)2=5.385
- 从 (5,3) 到 (4,5) 的距离:(5−4)2+(3−5)2=2.236
- 总距离:5.385+2.236=7.621
最短的总距离为 5.398,因此最优喝水点为 (1,3)。
数据范围
- 1≤x1≤x2≤104
- 1≤y1<y2≤104
- 1≤n≤104,且 y1≤n≤y2
- 数据保证计算出的最优 x 为整数。