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 翻译