P16102 [ICPC 2019 NAIPC] Rocket Powered Hovercraft

题目描述

你正在为一艘由火箭驱动的自主气垫船编写程序。该飞行器可以非常非常快地行驶,但转向较为困难。由于它处于悬浮状态,通过发射定向推进器来实现转向,无论飞行器是在向前运动还是静止不动,推进器都能使其转向。 你测试所在的盐滩已被映射成一个二维笛卡尔网格。气垫船从网格上的位置 $(0,0)$ 出发,朝向正 $X$ 方向。你的任务是让飞行器到达盐滩上的另一个位置 $(x,y)$。 气垫船具有固定的地面速度 $v$(英里/秒)和固定的旋转角速度 $w$(弧度/秒)。得益于火箭在加速和减速方面的强大性能,它几乎可以瞬间达到最大速度,也能瞬间从最大速度减速至停止。同样地,它可以瞬间开始以固定速率旋转,也能瞬间停止旋转。它可以顺时针或逆时针旋转。 你需要计算出气垫船到达目标所需的最短时间。控制飞行器的程序可以启动前进、停止前进、开始旋转和停止旋转,每个动作最多只能执行一次。注意,启动/停止前进可以与启动/停止旋转独立进行。

输入格式

每个测试用例仅包含两行。 第一行包含两个空格分隔的整数 $x$ 和 $y$($-1{,}000 \leq x, y \leq 1{,}000$,$(x,y) \neq (0,0)$),表示你要到达的网格位置,单位为英里。 第二行包含两个空格分隔的实数,精确到小数点后两位:$v$($0.01 \leq v \leq 10.00$)和 $w$($0.01 \leq w \leq 10.00$),其中 $v$ 是固定的行驶速度(英里/秒),$w$ 是固定的旋转角速度(弧度/秒),方向可选。

输出格式

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

说明/提示

翻译由 DeepSeek V3.2 完成