E. 噜噜的旅行

    传统题 1000ms 256MiB

噜噜的旅行

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

噜噜 非常喜欢旅行!今天,噜噜决定穿越一片神秘的草原,前往遥远的目的地。然而,草原中有一条蜿蜒的河流,河流横跨草原,长度是无限的。为了确保能够最短时间内到达目的地,噜噜决定选择一个最优的喝水点,横跨这条河流。

现给定噜噜的起始坐标 (x1,y1)(x1, y1) 和目的地坐标 (x2,y2)(x2, y2),以及河流所在的 y=ny = n 处。请你帮噜噜找到一个最佳的喝水点 (x,n)(x, n),使得从起点到喝水点,再到目的地的总距离最短。

题目描述

给定两个点 (x1,y1)(x1, y1)(x2,y2)(x2, y2),其中 y2>y1y2 > y1 且已知在 y=ny = n 处有一条河流,假设河流是无限长的。请通过枚举所有可能的喝水点 (x,n)(x, n),计算每个点的总旅行距离,并找出最短的距离。最后输出最优的喝水坐标 xx

输入格式

x1 y1
x2 y2
n
  • 第一行:两个整数 x1x1y1y1 表示初始坐标。
  • 第二行:两个整数 x2x2y2y2 表示目的地坐标。
  • 第三行:一个整数 nn 表示河流所在的 yy 坐标。

输出格式

x

输出一个整数 xx,表示最佳喝水点的 xx 坐标。

示例输入输出

输入 1

0 1
4 5
3

输出 1

2

输入 2

1 2
5 7
4

输出 2

3

说明/提示

示例 1:

起点为 (0,1)(0, 1),目的地为 (4,5)(4, 5),河流所在的 y=3y = 3 处。最优的喝水点为 (2,3)(2, 3),此时总旅行距离最短。

枚举过程:

  • 喝水点 (0, 3)

    • (0,1)(0, 1)(0,3)(0, 3) 的距离:(00)2+(31)2=2\sqrt{(0 - 0)^2 + (3 - 1)^2} = 2
    • (0,3)(0, 3)(4,5)(4, 5) 的距离:(04)2+(35)2=4.472\sqrt{(0 - 4)^2 + (3 - 5)^2} = 4.472
    • 总距离:2+4.472=6.4722 + 4.472 = 6.472
  • 喝水点 (1, 3)

    • (0,1)(0, 1)(1,3)(1, 3) 的距离:(10)2+(31)2=2.236\sqrt{(1 - 0)^2 + (3 - 1)^2} = 2.236
    • (1,3)(1, 3)(4,5)(4, 5) 的距离:(14)2+(35)2=3.605\sqrt{(1 - 4)^2 + (3 - 5)^2} = 3.605
    • 总距离:2.236+3.605=5.8412.236 + 3.605 = 5.841
  • 喝水点 (2, 3)

    • (0,1)(0, 1)(2,3)(2, 3) 的距离:(20)2+(31)2=2.828\sqrt{(2 - 0)^2 + (3 - 1)^2} = 2.828
    • (2,3)(2, 3)(4,5)(4, 5) 的距离:(24)2+(35)2=2.828\sqrt{(2 - 4)^2 + (3 - 5)^2} = 2.828
    • 总距离:2.828+2.828=5.6562.828 + 2.828 = 5.656
  • 喝水点 (3, 3)

    • (0,1)(0, 1)(3,3)(3, 3) 的距离:(30)2+(31)2=3.605\sqrt{(3 - 0)^2 + (3 - 1)^2} = 3.605
    • (3,3)(3, 3)(4,5)(4, 5) 的距离:(34)2+(35)2=2.236\sqrt{(3 - 4)^2 + (3 - 5)^2} = 2.236
    • 总距离:3.605+2.236=5.8413.605 + 2.236 = 5.841
  • 喝水点 (4, 3)

    • (0,1)(0, 1)(4,3)(4, 3) 的距离:(40)2+(31)2=4.472\sqrt{(4 - 0)^2 + (3 - 1)^2} = 4.472
    • (4,3)(4, 3)(4,5)(4, 5) 的距离:(44)2+(35)2=2\sqrt{(4 - 4)^2 + (3 - 5)^2} = 2
    • 总距离:4.472+2=6.4724.472 + 2 = 6.472
  • 喝水点 (5, 3)

    • (0,1)(0, 1)(5,3)(5, 3) 的距离:(50)2+(31)2=5.385\sqrt{(5 - 0)^2 + (3 - 1)^2} = 5.385
    • (5,3)(5, 3)(4,5)(4, 5) 的距离:(54)2+(35)2=2.236\sqrt{(5 - 4)^2 + (3 - 5)^2} = 2.236
    • 总距离:5.385+2.236=7.6215.385 + 2.236 = 7.621

最短的总距离为 5.398,因此最优喝水点为 (1,3)(1, 3)

数据范围

  • 1x1x21041 \le x_1 \le x_2 \le 10^4
  • 1y1<y21041 \le y_1 < y_2 \le 10^4
  • 1n1041 \le n \le 10^4,且 y1ny2y_1 \le n \le y_2
  • 数据保证计算出的最优 xx 为整数。

「果壳语法杯」ROUND #5 (Div.5)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2025-5-30 18:00
结束于
2025-6-1 19:00
持续时间
2 小时
主持人
参赛人数
33