AT_abc057_b.[ABC057B] Checkpoints

普及-

通过率:0%

AC君温馨提醒

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

题目描述

在 xyxy 平面上,有 NN 名学生和 MM 个检查点。
第 ii 名学生的位置为 (ai,bi) (1≤i≤N)(a_i, b_i)\ (1 \leq i \leq N),编号为 jj 的检查点的位置为 (cj,dj) (1≤j≤M)(c_j, d_j)\ (1 \leq j \leq M)。
现在发出集合信号,每位学生需要前往与自己曼哈顿距离最近的检查点集合。
两个点 (x1,y1)(x_1, y_1) 和 (x2,y2)(x_2, y_2) 之间的曼哈顿距离为 ∣x1−x2∣+∣y1−y2∣|x_1 - x_2| + |y_1 - y_2|。
这里,∣x∣|x| 表示 xx 的绝对值。
如果有多个距离最近的检查点,则选择编号最小的那个。
请在集合信号发出后,求出每位学生将前往哪个检查点。

输入格式

输入以如下格式从标准输入读入。

NN MM
a1a_1 b1b_1
⋮\vdots
aNa_N bNb_N
c1c_1 d1d_1
⋮\vdots
cMc_M dMd_M

输出格式

输出 NN 行。
第 ii 行输出第 ii 名学生将前往的检查点的编号。

输入输出样例

  • 输入#1

    2 2
    2 0
    0 0
    -1 0
    1 0

    输出#1

    2
    1
  • 输入#2

    3 4
    10 10
    -10 -10
    3 3
    1 2
    2 3
    3 5
    3 5

    输出#2

    3
    1
    2
  • 输入#3

    5 5
    -100000000 -100000000
    -100000000 100000000
    100000000 -100000000
    100000000 100000000
    0 0
    0 0
    100000000 100000000
    100000000 -100000000
    -100000000 100000000
    -100000000 -100000000

    输出#3

    5
    4
    3
    2
    1

说明/提示

限制条件

  • 1≤N,M≤501 \leq N, M \leq 50
  • −108≤ai,bi,cj,dj≤108-10^8 \leq a_i, b_i, c_j, d_j \leq 10^8
  • 所有输入均为整数。

样例解释 1

第 11 名学生与各检查点的曼哈顿距离如下:

  • 到编号 11 的检查点的距离为 ∣2−(−1)∣+∣0−0∣=3|2-(-1)|+|0-0|=3
  • 到编号 22 的检查点的距离为 ∣2−1∣+∣0−0∣=1|2-1|+|0-0|=1
    因此,最近的检查点编号为 22,所以第 11 行输出 22。
    第 22 名学生与各检查点的曼哈顿距离如下:
  • 到编号 11 的检查点的距离为 ∣0−(−1)∣+∣0−0∣=1|0-(-1)|+|0-0|=1
  • 到编号 22 的检查点的距离为 ∣0−1∣+∣0−0∣=1|0-1|+|0-0|=1
    当有多个最近的检查点时,选择编号最小的那个,因此第 22 行输出 11。

样例解释 2

也可能存在多个检查点位于同一坐标的情况。

由 ChatGPT 4.1 翻译

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

首页