AT_yuha_c83_04 Psychic Accelerator - とある超能力の物体加速器
题目描述
在东京的西部有一座被称为“学园都市”的城市。这里有许多为了培养超能力者而设立的学校和研究所。你是一名就读于学园都市某所学校的超能力者。你的超能力是能够对物体施加加速度。你可以随时随地使用你的超能力。然而,使用超能力有一些条件。
首先,如果物体处于静止状态,你可以向任意方向施加加速度。而当物体处于运动状态时,你只能在以下三种方向之一施加加速度:1)物体的运动方向;2)与运动方向相反的方向;3)与运动方向垂直的方向。
今天的训练内容是让你沿着给定的赛道移动物体。为简化问题,赛道由二维平面上的线段和圆弧组成。赛道没有分支,所有线段和圆弧都平滑地连接在一起(不存在锐角转弯)。赛道从第一条线段的起点开始,到最后一条线段的终点结束。
初始状态下,物体被放置在赛道的起点。你需要通过施加加速度,使物体沿着赛道移动到终点,并在终点处停下。
在实际训练开始前,教官要求你通过模拟计算,将物体从起点移动到终点所需的最短时间。你的任务是:给定赛道的形状和物体可施加的最大加速度 $A_{max}$,编写程序计算物体从起点移动到终点所需的最短时间。
物体遵循以下基本物理公式。当物体沿某一方向运动,并在前方或后方受到加速度作用时,满足以下公式:
$$
v = v_0 + at
$$
$$
s = v_0 t + \frac{1}{2} a t^2
$$
其中,$v$ 表示速度,$s$ 表示从起点的距离,$v_0$ 表示初速度(在起点的速度),$a$ 表示加速度,$t$ 表示物体的运动时间。此外,还可推导出以下公式:
$$
v^2 - v_0^2 = 2as
$$
当物体在圆弧上,并且加速度作用于圆弧的中心方向时,满足以下公式:
$$
a = \frac{v^2}{r}
$$
其中,$v$ 表示速度,$a$ 表示加速度,$r$ 表示圆弧半径。请注意,由于超能力的使用条件,在圆弧上无法改变物体的速度。
输入格式如下所示:
> $N$ $A_{max}$ $x_{a,1}$ $y_{a,1}$ $x_{b,1}$ $y_{b,1}$ $x_{a,2}$ $y_{a,2}$ $x_{b,2}$ $y_{b,2}$ ... $x_{a,N}$ $y_{a,N}$ $x_{b,N}$ $y_{b,N}$
输入的第一行为两个正整数,$N$ $(0 < N \leq 100)$,$A_{max}$ $(1 \leq A_{max} \leq 100)$,其中 $N$ 表示线段的数量,$A_{max}$ 表示对物体可施加的最大加速度。接下来的 $N$ 行给出线段的信息。每行包含整数 $x_{a,i}$、$y_{a,i}$、$x_{b,i}$、$y_{b,i}$ $(-100 \leq x_{a,i}, y_{a,i}, x_{b,i}, y_{b,i} \leq 100)$,$(x_{a,i}, y_{a,i})$ 表示第 $i$ 条线段的起点,$(x_{b,i}, y_{b,i})$ 表示第 $i$ 条线段的终点。第 $i$ 条线段的终点通过圆弧与第 $i+1$ 条线段的起点平滑连接。保证给定的赛道可能自交,但在这些点上不能改变运动方向。
请输出将物体从起点移动到终点所需的最短时间。输出的绝对误差或相对误差不得超过 $10^{-6}$。
- 仅能正确解决 $N=1$ 的输入时,可获得 $50$ 分的部分分。
- 仅能正确解决 $1 \leq N \leq 2$ 的输入时,可获得 $75$ 分的部分分。
输入格式
第一行包含两个正整数 $N$ 和 $A_{max}$。
接下来的 $N$ 行,每行包含四个整数 $x_{a,i}$、$y_{a,i}$、$x_{b,i}$、$y_{b,i}$,分别表示第 $i$ 条线段的起点和终点的坐标。
输出格式
输出一个实数,表示将物体从起点移动到终点所需的最短时间。输出的绝对误差或相对误差不得超过 $10^{-6}$。
说明/提示
无。
由 ChatGPT 4.1 翻译