AT_abc057_b [ABC057B] Checkpoints

题目描述

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

输入格式

输入以如下格式从标准输入读入。 > $N$ $M$ > $a_1$ $b_1$ > $\vdots$ > $a_N$ $b_N$ > $c_1$ $d_1$ > $\vdots$ > $c_M$ $d_M$

输出格式

输出 $N$ 行。 第 $i$ 行输出第 $i$ 名学生将前往的检查点的编号。

说明/提示

## 限制条件 - $1 \leq N, M \leq 50$ - $-10^8 \leq a_i, b_i, c_j, d_j \leq 10^8$ - 所有输入均为整数。 ## 样例解释 1 第 $1$ 名学生与各检查点的曼哈顿距离如下: - 到编号 $1$ 的检查点的距离为 $|2-(-1)|+|0-0|=3$ - 到编号 $2$ 的检查点的距离为 $|2-1|+|0-0|=1$ 因此,最近的检查点编号为 $2$,所以第 $1$ 行输出 $2$。 第 $2$ 名学生与各检查点的曼哈顿距离如下: - 到编号 $1$ 的检查点的距离为 $|0-(-1)|+|0-0|=1$ - 到编号 $2$ 的检查点的距离为 $|0-1|+|0-0|=1$ 当有多个最近的检查点时,选择编号最小的那个,因此第 $2$ 行输出 $1$。 ## 样例解释 2 也可能存在多个检查点位于同一坐标的情况。 由 ChatGPT 4.1 翻译