#ACM0032. 哇!小数心的坐标雷达!

哇!小数心的坐标雷达!

题目描述

今天是小数心上大学第一次参加程序设计比赛,这场比赛无比宏大,所以小数心的很多同学找不到去哪个赛场。小数心作为大学生活的高手,他有一个雷达可以将所有参赛选手的坐标放到二维平面上,并且获得坐标。

比赛共有 NN 名学生参加,有 MM 个赛场。第 ii 名学生的坐标为 (ai,bi)(a_i, b_i),编号为 jj 的赛场的坐标为 (cj,dj)(c_j, d_j)。热情的小数心可以帮助每位同学前往曼哈顿距离最近的检查点。两点 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 之间的曼哈顿距离为 x1x2+y1y2|x_1-x_2|+|y_1-y_2|。这里的 x|x| 表示 xx 的绝对值。

如果对于一名同学有多个最近的赛场,他/她将会选择编号最小的赛场。

输入格式

第一行两个整数,NNMM1N,M501≤N,M≤50),代表同学和赛场的数量。

接下来 NN 行,每行两个整数 ai,bia_i,b_i 代表第 ii 名同学目前在雷达上的坐标。

最后 MM 行,每行两个整数 ci,dic_i,d_i 代表第 ii 个赛场在雷达上的坐标。保证(108ai,bi,ci,di108-10^8≤a_i,b_i,c_i,d_i≤10^8

所有输入数值均为整数。

输出格式

输出 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

提示

第一名学生与每个检查点之间的曼哈顿距离为:

  • 对于赛场1: 2(1)+00=32(1)+00=3∣2−(−1)∣+∣0−0∣=3∣2−(−1)∣+∣0−0∣=3
  • 对于赛场2: 21+00=121+00=1∣2−1∣+∣0−0∣=1∣2−1∣+∣0−0∣=1

最近的赛场22。因此,输出的第一行应输出 22

第二名学生与每个检查点之间的曼哈顿距离为:

  • 对于赛场1: 0(1)+00=10(1)+00=1∣0−(−1)∣+∣0−0∣=1∣0−(−1)∣+∣0−0∣=1
  • 对于赛场2: 01+00=101+00=1∣0−1∣+∣0−0∣=1∣0−1∣+∣0−0∣=1

当有多个最近的赛场时,学生将前往编号最小的赛场。因此,输出的第二行应输出 11