AT_yuha_c83_04.Psychic Accelerator - とある超能力の物体加速器

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在东京的西部有一座被称为“学园都市”的城市。这里有许多为了培养超能力者而设立的学校和研究所。你是一名就读于学园都市某所学校的超能力者。你的超能力是能够对物体施加加速度。你可以随时随地使用你的超能力。然而,使用超能力有一些条件。

首先,如果物体处于静止状态,你可以向任意方向施加加速度。而当物体处于运动状态时,你只能在以下三种方向之一施加加速度:1)物体的运动方向;2)与运动方向相反的方向;3)与运动方向垂直的方向。

今天的训练内容是让你沿着给定的赛道移动物体。为简化问题,赛道由二维平面上的线段和圆弧组成。赛道没有分支,所有线段和圆弧都平滑地连接在一起(不存在锐角转弯)。赛道从第一条线段的起点开始,到最后一条线段的终点结束。

初始状态下,物体被放置在赛道的起点。你需要通过施加加速度,使物体沿着赛道移动到终点,并在终点处停下。

在实际训练开始前,教官要求你通过模拟计算,将物体从起点移动到终点所需的最短时间。你的任务是:给定赛道的形状和物体可施加的最大加速度 AmaxA_{max},编写程序计算物体从起点移动到终点所需的最短时间。

物体遵循以下基本物理公式。当物体沿某一方向运动,并在前方或后方受到加速度作用时,满足以下公式:

v=v0+atv = v_0 + at

s=v0t+12at2s = v_0 t + \frac{1}{2} a t^2

其中,vv 表示速度,ss 表示从起点的距离,v0v_0 表示初速度(在起点的速度),aa 表示加速度,tt 表示物体的运动时间。此外,还可推导出以下公式:

v2−v02=2asv^2 - v_0^2 = 2as

当物体在圆弧上,并且加速度作用于圆弧的中心方向时,满足以下公式:

a=v2ra = \frac{v^2}{r}

其中,vv 表示速度,aa 表示加速度,rr 表示圆弧半径。请注意,由于超能力的使用条件,在圆弧上无法改变物体的速度。

输入格式如下所示:

NN AmaxA_{max} xa,1x_{a,1} ya,1y_{a,1} xb,1x_{b,1} yb,1y_{b,1} xa,2x_{a,2} ya,2y_{a,2} xb,2x_{b,2} yb,2y_{b,2} ... xa,Nx_{a,N} ya,Ny_{a,N} xb,Nx_{b,N} yb,Ny_{b,N}

输入的第一行为两个正整数,NN (0<N≤100)(0 < N \leq 100),AmaxA_{max} (1≤Amax≤100)(1 \leq A_{max} \leq 100),其中 NN 表示线段的数量,AmaxA_{max} 表示对物体可施加的最大加速度。接下来的 NN 行给出线段的信息。每行包含整数 xa,ix_{a,i}、ya,iy_{a,i}、xb,ix_{b,i}、yb,iy_{b,i} (−100≤xa,i,ya,i,xb,i,yb,i≤100)(-100 \leq x_{a,i}, y_{a,i}, x_{b,i}, y_{b,i} \leq 100),(xa,i,ya,i)(x_{a,i}, y_{a,i}) 表示第 ii 条线段的起点,(xb,i,yb,i)(x_{b,i}, y_{b,i}) 表示第 ii 条线段的终点。第 ii 条线段的终点通过圆弧与第 i+1i+1 条线段的起点平滑连接。保证给定的赛道可能自交,但在这些点上不能改变运动方向。

请输出将物体从起点移动到终点所需的最短时间。输出的绝对误差或相对误差不得超过 10−610^{-6}。

  • 仅能正确解决 N=1N=1 的输入时,可获得 5050 分的部分分。
  • 仅能正确解决 1≤N≤21 \leq N \leq 2 的输入时,可获得 7575 分的部分分。

输入格式

第一行包含两个正整数 NN 和 AmaxA_{max}。

接下来的 NN 行,每行包含四个整数 xa,ix_{a,i}、ya,iy_{a,i}、xb,ix_{b,i}、yb,iy_{b,i},分别表示第 ii 条线段的起点和终点的坐标。

输出格式

输出一个实数,表示将物体从起点移动到终点所需的最短时间。输出的绝对误差或相对误差不得超过 10−610^{-6}。

说明/提示

无。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页