#2596. Checkpoints

0

Checkpoints

Checkpoints

题目描述

平面上有 NN 名学生和 MM 个检查点。
第 ii 名学生 (1≤i≤N)(1 \leq i \leq N) 的坐标为 (ai,bi)(a_i,b_i),编号为 jj 的检查点 (1≤j≤M)(1 \leq j \leq M) 的坐标为 (cj,dj)(c_j,d_j)。
当老师发出信号时,每个学生必须前往按曼哈顿距离最近的检查点。
两点 (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 ::
aNa_N bNb_N c1c_1 d1d_1 ::
cMc_M dMd_M

输出格式

输出 NN 行。
第 ii 行 (1≤i≤N)(1 \leq i \leq N) 应包含第 ii 名学生前往的检查点的编号。

2 2
2 0
0 0
-1 0
1 0
2
1
3 4
10 10
-10 -10
3 3
1 2
2 3
3 5
3 5
3
1
2
5 5
-100000000 -100000000
-100000000 100000000
100000000 -100000000
100000000 100000000
0 0
0 0
100000000 100000000
100000000 -100000000
-100000000 100000000
-100000000 -100000000
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 所有输入值均为整数。第一名学生到各检查点的曼哈顿距离为:

到检查点 11: ∣2−(−1)∣+∣0−0∣=3|2-(-1)|+|0-0|=3 到检查点 22: ∣2−1∣+∣0−0∣=1|2-1|+|0-0|=1

最近的检查点是检查点 22. 因此输出的第一行应包含 22。 第二名学生到各检查点的曼哈顿距离为:

到检查点 11: ∣0−(−1)∣+∣0−0∣=1|0-(-1)|+|0-0|=1 到检查点 22: ∣0−1∣+∣0−0∣=1|0-1|+|0-0|=1

当有多个最近的检查点时,学生会前往编号最小的检查点。因此输出的第二行应包含 11.
检查点可能存在相同的坐标。

标签: AtCoder|abc057B

来源

AtCoder|abc057B