#P11848. [TOIP 2023] 房屋推薦

[TOIP 2023] 房屋推薦

题目描述

房屋仲介小潮負責高談市的租房業務。小潮手上有編號為 1,2,,n1, 2, \cdots, nnn 間待租的房屋,房屋 ii 的位置可以用二維座標 (ai,bi)(a_i, b_i) 表示,並且此房屋的月租金為 rir_i 元。

高談市有 mm 座捷運站,捷運站的編號為 1,2,,m1, 2, \cdots, m,捷運站 jj 的位置在二維平面以座標 (cj,dj)(c_j, d_j) 表示。定義房屋 ii 與捷運站 jj 的距離為 (aicj)2+(bidj)2\sqrt{(a_i - c_j)^2 + (b_i - d_j)^2} 單位。

小潮發現租客的喜好如下:

  1. 房屋與最近的捷運站的距離越短越好。
  2. 如果兩間房屋和彼此最近的捷運站距離一樣近,月租金越小的房屋越好。
  3. 如果兩間房屋和彼此最近的捷運站距離一樣近,而且月租金相同,房屋編號越小的越好。

請幫忙小潮開發一個房屋推薦系統,對房屋們進行排序,使得越是得到租客喜愛的房屋排在越前面。

如下圖為一 n=3n=3m=3m=3 的例子,其中正方形的點 H1,H2,H3H_1, H_2, H_3 分別代表房屋 1,2,31, 2, 3,圓點 S1,S2,S3S_1, S_2, S_3 則分別代表捷運站 1,2,31, 2, 3 的位置。並且:

  • 11 間房屋位在 (2,0)(2, 0),月租金為 1100011000 元。
  • 22 間房屋位在 (5,0)(5, 0),月租金為 1200012000 元。
  • 33 間房屋位在 (3,3)(3, 3),月租金為 1000010000 元。
  • 11 座捷運站位在 (1,3)(1, 3)
  • 22 座捷運站位在 (3,0)(3, 0)
  • 33 座捷運站位在 (5,3)(5, 3)

可以算出:

  • 和第 11 間房屋距離最短的捷運站為第 22 座捷運站,距離為 11 單位。
  • 和第 22 間房屋距離最短的捷運站為第 22 座捷運站,距離為 22 單位。
  • 和第 33 間房屋距離最短的捷運站為第 11 座捷運站與第 33 座捷運站,距離為 22 單位。

22 間房屋和第 33 間房屋和捷運站的距離都是 22 單位,但是因為第 33 間房屋的月租金較為便宜,所以排在第 22 間房屋前面。因此租客喜好的房屋順序為:1,3,21, 3, 2

输入格式

nn mm
a1a_1 b1b_1 r1r_1
a2a_2 b2b_2 r2r_2
\vdots
ana_n bnb_n rnr_n
c1c_1 d1d_1
c2c_2 d2d_2
\vdots
cmc_m dmd_m

  • nn, mm 分別代表房屋與捷運站的數量。
  • 房屋 ii 的座標在 (ai,bi)(a_i, b_i),且租金為 rir_i
  • 捷運站 jj 的座標為 (cj,dj)(c_j, d_j)

输出格式

p1p_1
p2p_2
\vdots
pnp_n

  • pip_i 為一整數,代表排名第 ii 名的房屋編號。
3 3
2 0 11000
5 0 12000
3 3 10000
1 3
3 0
5 3
1
3
2
4 2
2 -2 10000
-2 1 12000
1 -3 12000
4 5 19000
1 5
4 1
4
1
2
3

提示

測資限制

  • 1n1051 \le n \le 10^5
  • 1m1031 \le m \le 10^3
  • 109ai,bi,ci,di109-10^9 \le a_i, b_i, c_i, d_i \le 10^9
  • 0ri1090 \le r_i \le 10^9
  • 上述變數皆為整數。
  • 任意一個座標最多只有一間房屋或一座捷運站,且不會有房屋和捷運站在同一座標。

評分說明

本題共有三組子任務,條件限制如下所示。 每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。

子任務 分數 額外輸入限制
1 2020 n2n \le 2
2 3030 n100n \le 100
3 5050 無額外限制