#P11907. [NHSPC 2023] F. 恐怖的黑色魔物

[NHSPC 2023] F. 恐怖的黑色魔物

题目描述

G 公司最近用黑科技在某个神秘的地方建立了新的研发中心。这座研发中心的形状是长方体,内部共有 FF 层楼,每一层楼均有由 MMNN 行组成的矩形房间。一个房间的位置用三个正整数 (p,q,r)(p, q, r) 表示,代表该房间位于研发中心 pp 楼的第 qq 列第 rr 行。

G 公司的员工均可以通过黑科技直接传送到隔壁、楼下或楼上的房间。更明确地说,位于房间 (p,q,r)(p, q, r) 的 G 公司员工,

  1. p>1p > 1 时,可以传送到房间 (p1,q,r)(p-1, q, r)
  2. p<Fp < F 时,可以传送到房间 (p+1,q,r)(p+1, q, r)
  3. q>1q > 1 时,可以传送到房间 (p,q1,r)(p, q-1, r)
  4. q<Mq < M 时,可以传送到房间 (p,q+1,r)(p, q+1, r)
  5. r>1r > 1 时,可以传送到房间 (p,q,r1)(p, q, r-1)
  6. r<Nr < N 时,可以传送到房间 (p,q,r+1)(p, q, r+1)

G 公司为了节省员工的用餐休息时间,在其中的 RR 个房间开设了餐厅,方便员工在研发中心内直接用餐。但餐厅的食物会滋生一种恐怖的黑色魔物,有一部分的 G 公司员工非常害怕这种恐怖的黑色魔物,因此不敢在这些餐厅用餐。

你的上司 K 先生特别害怕这种恐怖的黑色魔物。他总认为这些恐怖的黑色魔物,也能通过黑科技,在研发中心里自由穿梭。他定义了「黑色恐怖距离」:若一个房间至少须使用 dd 次黑科技传送,才能抵达餐厅,则该房间的黑色恐怖距离就是 dd。对 K 先生来说,黑色恐怖距离越小就越恐怖,因此他每次在研发中心内移动时,都会计算该如何使用黑科技,才能让途中经过的房间,最小的黑色恐怖距离最大。作为 K 先生下属的你,打算编写一个程序,帮助 K 先生快速算出在最不恐怖的路径上,所经过的房间里黑色恐怖距离的最小值。

输入格式

FF MM NN
RR
p1p_1 q1q_1 r1r_1
p2p_2 q2q_2 r2r_2
\vdots
pRp_R qRq_R rRr_R
QQ
a1a_1 b1b_1 c1c_1 x1x_1 y1y_1 z1z_1
a2a_2 b2b_2 c2c_2 x2x_2 y2y_2 z2z_2
\vdots
aQa_Q bQb_Q cQc_Q xQx_Q yQy_Q zQz_Q

  • FF 代表 G 公司研发中心的层数。
  • MM 代表 G 公司研发中心的列数。
  • NN 代表 G 公司研发中心的行数。
  • RR 代表 G 公司研发中心的餐厅数。
  • (pi,qi,ri)(p_i, q_i, r_i) 代表 G 公司研发中心内第 ii 间餐厅的位置。
  • QQ 代表 K 先生计划移动的次数。
  • (ai,bi,ci)(a_i, b_i, c_i) 代表 K 先生计划第 ii 次移动的起点。
  • (xi,yi,zi)(x_i, y_i, z_i) 代表 K 先生计划第 ii 次移动的终点。

输出格式

d1d_1^*
d2d_2^*
\vdots
dQd_Q^*

  • did_i^* 代表 K 先生第 ii 次移动时,所有可能的路径中,最小黑色恐怖距离的最大值。
3 3 3
3
1 1 1
2 2 2
3 3 3
4
1 3 3 3 1 1
1 2 2 3 2 2
1 2 3 1 2 3
1 1 1 3 3 3
2
1
2
0
1 1 3
1
1 1 2
1
1 1 1 1 1 3
0

说明/提示

测试数据限制

  • 1F2×1051 \le F \le 2\times10^5
  • 1M2×1051 \le M \le 2\times10^5
  • 1N2×1051 \le N \le 2\times10^5
  • 1FMN2×1051 \le FMN \le 2\times10^5
  • 1RFMN1 \le R \le FMN
  • 1piF1 \le p_i \le F
  • 1qiM1 \le q_i \le M
  • 1riN1 \le r_i \le N
  • 1Q2×1051 \le Q \le 2\times10^5
  • 1aiF1 \le a_i \le F
  • 1biM1 \le b_i \le M
  • 1ciN1 \le c_i \le N
  • 1xiF1 \le x_i \le F
  • 1yiM1 \le y_i \le M
  • 1ziN1 \le z_i \le N
  • 对任意 i,j{1,2,,R}i, j \in \{1, 2, \ldots, R\},若 iji \ne j,则 (pi,qi,ri)(pj,qj,rj)(p_i, q_i, r_i) \ne (p_j, q_j, r_j)
  • 输入的数皆为整数。

评分说明

本题共有五组子任务,条件限制如下所示。 每一组可有一或多个测试数据,该组所有测试数据皆需答对才可获得该组分数。

子任务 分数 额外输入限制
1 66 F=R=1,MN100,Q100F = R = 1, MN \le 100, Q \le 100
2 2121 对任意 i{1,2,,Q}i \in \{1, 2, \ldots, Q\},均有 (ai,bi,ci)=(xi,yi,zi)(a_i, b_i, c_i) = (x_i, y_i, z_i)
3 44 FMN3000FMN \le 3000
4 2525 Q=1Q = 1
5 4444 无额外限制