#P16102. [ICPC 2019 NAIPC] Rocket Powered Hovercraft

[ICPC 2019 NAIPC] Rocket Powered Hovercraft

题目描述

你正在为一艘由火箭驱动的自主气垫船编写程序。该飞行器可以非常非常快地行驶,但转向较为困难。由于它处于悬浮状态,通过发射定向推进器来实现转向,无论飞行器是在向前运动还是静止不动,推进器都能使其转向。

你测试所在的盐滩已被映射成一个二维笛卡尔网格。气垫船从网格上的位置 (0,0)(0,0) 出发,朝向正 XX 方向。你的任务是让飞行器到达盐滩上的另一个位置 (x,y)(x,y)

气垫船具有固定的地面速度 vv(英里/秒)和固定的旋转角速度 ww(弧度/秒)。得益于火箭在加速和减速方面的强大性能,它几乎可以瞬间达到最大速度,也能瞬间从最大速度减速至停止。同样地,它可以瞬间开始以固定速率旋转,也能瞬间停止旋转。它可以顺时针或逆时针旋转。

你需要计算出气垫船到达目标所需的最短时间。控制飞行器的程序可以启动前进、停止前进、开始旋转和停止旋转,每个动作最多只能执行一次。注意,启动/停止前进可以与启动/停止旋转独立进行。

输入格式

每个测试用例仅包含两行。

第一行包含两个空格分隔的整数 xxyy1,000x,y1,000-1{,}000 \leq x, y \leq 1{,}000(x,y)(0,0)(x,y) \neq (0,0)),表示你要到达的网格位置,单位为英里。

第二行包含两个空格分隔的实数,精确到小数点后两位:vv0.01v10.000.01 \leq v \leq 10.00)和 ww0.01w10.000.01 \leq w \leq 10.00),其中 vv 是固定的行驶速度(英里/秒),ww 是固定的旋转角速度(弧度/秒),方向可选。

输出格式

输出一个实数,表示气垫船从 (0,0)(0,0) 到达 (x,y)(x,y) 所需的最短时间(秒)。如果答案与标准答案的绝对误差不超过 10310^{-3},则视为正确。

20 0
1.00 0.10
20.00000000
-10 10
10.00 1.00
3.14159265
0 20
1.00 0.10
28.26445910
-997 -3
5.64 2.15
177.76915187

提示

翻译由 DeepSeek V3.2 完成