AT_abc401_g.[ABC401G] Push Simultaneously

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

平面上有 NN 个高桥君和 NN 个按钮。平面上设有原点,从原点向东移动 xx 米、向北移动 yy 米的位置用坐标 (x,y)(x,y) 表示。第 ii 个高桥君 (1≤i≤N)(1 \leq i \leq N) 初始位于坐标 (sxi,syi)(\mathit{sx}_i, \mathit{sy}_i),第 ii 个按钮位于坐标 (gxi,gyi)(\mathit{gx}_i, \mathit{gy}_i)。

高桥君们需要在移动后同时按下这 NN 个按钮。每个按钮只能由位于该按钮坐标的高桥君按下。从到达按钮所在坐标到按下按钮所需的时间为 00 秒。

每个高桥君可以以不超过 11 米/秒的速度向任意方向移动。更严格地说,设第 ii 个高桥君在开始后 tt 秒时的坐标为 (xi(t),yi(t))(x_i(t), y_i(t)),则必须满足以下所有条件:

  • xi(0)=sxix_i(0) = \mathit{sx}_i
  • yi(0)=syiy_i(0) = \mathit{sy}_i
  • 对于所有非负实数 t0,t1t_0, t_1,点 (xi(t0),yi(t0))(x_i(t_0), y_i(t_0)) 和点 (xi(t1),yi(t1))(x_i(t_1), y_i(t_1)) 之间的距离不超过 ∣t0−t1∣|t_0 - t_1|

请计算高桥君们达成目标所需的最短时间。严格来说,求满足以下条件的最小 tt 值:

  • 适当定义满足上述条件的 xi,yix_i, y_i 后,对于所有整数 jj (1≤j≤N)(1 \leq j \leq N) 和实数 t′t' (t′>t)(t' > t),存在整数 ii (1≤i≤N)(1 \leq i \leq N) 使得 (xi(t′),yi(t′))=(gxj,gyj)(x_i(t'), y_i(t')) = (\mathit{gx}_j, \mathit{gy}_j) 成立。

输入格式

输入通过标准输入给出,格式如下:

NN
sx1\mathit{sx}_1 sy1\mathit{sy}_1
sx2\mathit{sx}_2 sy2\mathit{sy}_2
⋮\vdots
sxN\mathit{sx}_N syN\mathit{sy}_N
gx1\mathit{gx}_1 gy1\mathit{gy}_1
gx2\mathit{gx}_2 gy2\mathit{gy}_2
⋮\vdots
gxN\mathit{gx}_N gyN\mathit{gy}_N

输出格式

输出 NN 个高桥君同时按下 NN 个按钮所需的时间。当输出值与真实值的相对误差不超过 10−610^{-6} 时,判定为正确。

输入输出样例

  • 输入#1

    4
    0 0
    0 1
    2 0
    3 1
    0 2
    1 0
    1 2
    2 2

    输出#1

    2
  • 输入#2

    3
    1 4
    1 5
    9 2
    653589793238462643 383279502884197169
    399375105820974944 592307816406286208
    99862803482534211 706798214808651328

    输出#2

    757682516069002110.04581169374262658710741005525
  • 输入#3

    12
    4459915897 5789359311
    4393259463 4247016333
    4827828467 4179021045
    2654035685 3406423989
    1790405301 4886103164
    2978675817 4818583236
    5912369644 5824121992
    6016882384 4165667191
    4305949638 3454894060
    6545166942 5390976281
    4043403253 4019611554
    3462096432 4117859301
    3528911877 4631601790
    4627979431 4814676729
    3810130146 5728760563
    5586470124 3310360339
    3664130072 4525834271
    1710246881 3750440871
    3143440609 5038869551
    2294021341 3965849888
    6189106395 4499485672
    4799619607 5151972020
    6905793542 3976136296
    1764267574 4525373194

    输出#3

    1299999319.116399442508650717909981965254

说明/提示

约束条件

  • 1≤N≤3001 \leq N \leq 300
  • 0≤sxi≤10180 \leq \mathit{sx}_i \leq 10^{18} (1≤i≤N)(1 \leq i \leq N)
  • 0≤syi≤10180 \leq \mathit{sy}_i \leq 10^{18} (1≤i≤N)(1 \leq i \leq N)
  • 0≤gxi≤10180 \leq \mathit{gx}_i \leq 10^{18} (1≤i≤N)(1 \leq i \leq N)
  • 0≤gyi≤10180 \leq \mathit{gy}_i \leq 10^{18} (1≤i≤N)(1 \leq i \leq N)
  • (sxi,syi)≠(sxj,syj)(\mathit{sx}_i, \mathit{sy}_i) \neq (\mathit{sx}_j, \mathit{sy}_j) (1≤i<j≤N)(1 \leq i < j \leq N)
  • (gxi,gyi)≠(gxj,gyj)(\mathit{gx}_i, \mathit{gy}_i) \neq (\mathit{gx}_j, \mathit{gy}_j) (1≤i<j≤N)(1 \leq i < j \leq N)
  • (sxi,syi)≠(gxj,gyj)(\mathit{sx}_i, \mathit{sy}_i) \neq (\mathit{gx}_j, \mathit{gy}_j) (1≤i≤N,1≤j≤N)(1 \leq i \leq N, 1 \leq j \leq N)
  • 输入的所有数值均为整数

样例解释 1

初始时,高桥君和按钮的位置关系如图所示。

假设第 1,2,3,41,2,3,4 个高桥君分别直接向第 1,3,2,41,3,2,4 个按钮移动。

这样,高桥君们分别在开始后 22 秒、2\sqrt{2} 秒、11 秒、2\sqrt{2} 秒时到达对应按钮的坐标。因此,可以在开始后 22 秒时同时按下所有按钮。反之,无法在 22 秒之前同时按下所有按钮,所以输出 2。只要输出值与真实值的相对误差不超过 10−610^{-6},例如 1.999998 或 2.00000014 也会被判定为正确。

样例解释 2

注意输入的坐标可能超出 3232 位整数的范围。

翻译由 DeepSeek V3 完成

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

首页