97315 - 亮度(brightness)

题目背景

某研究基地内部有一座立体建筑。建筑中的机器人携带一盏亮度可调的探照灯,需要在不同房间之间完成若干次运输任务。

题目描述

建筑由 X\times Y\times Z 个房间组成。房间用三维坐标 (x,y,z) 表示,其中 1\le x\le X、1\le y\le Y、1\le z\le Z。每个房间只与前后、左右、上下六个方向上的房间相邻。

房间 (x,y,z) 的探照灯最高允许亮度为 A[x][y][z]。机器人携带一盏可调节亮度的探照灯,当前亮度为 b。

机器人可以进行以下操作:

  • 在当前房间将探照灯亮度提高 1 或降低 1,代价为 1;
  • 机器人在房间内停留或调整亮度时,亮度始终为正整数,且不能超过当前房间的最高允许亮度;
  • 通过房门进入六连通相邻房间,代价为 0。通过房门时亮度保持不变,因此亮度必须同时不超过离开房间和进入房间的最高允许亮度。

给定 Q 次相互独立的运输任务。每次任务给出起点房间、起始亮度、终点房间和目标亮度,请计算完成任务所需的最小亮度调整代价。

输入

第一行包含三个整数 X,Y,Z。

接下来给出 X 个部分。第 x 个部分包含 Y 行,每行包含 Z 个整数;其中第 x 个部分第 y 行第 z 个整数为 A[x][y][z]。

下一行包含一个整数 Q。

接下来 Q 行,每行包含八个整数:

x1 y1 z1 b1 x2 y2 z2 b2

表示机器人从房间 (x_1,y_1,z_1) 的亮度 b_1 出发,最终到达房间 (x_2,y_2,z_2),且亮度为 b_2。

保证:

\begin{aligned} 1&\le b_1\le A[x_1][y_1][z_1],\ 1&\le b_2\le A[x_2][y_2][z_2]. \end{aligned}

每次运输任务相互独立,前一次任务结束时机器人的位置和亮度不会影响下一次任务。

输出

输出 Q 行,每行一个整数,表示对应任务的最小亮度调整代价。

样例

输入

2 2 2
7 5
4 6
3 8
2 9
4
1 1 1 7 2 2 2 8
2 1 1 3 2 2 2 8
1 2 1 4 1 2 1 1
1 1 2 5 2 1 2 8

输出

5
5
3
3

提示

样例解释

以第 1 次任务为例。起点房间 (1,1,1) 的上限为 7,终点房间 (2,2,2) 的上限为 9。从起点离开时,若想保持亮度至少为 6,无论先走向哪个相邻房间都会超过该相邻房间的上限;能够贯穿一条路径的最大亮度为 5。因此机器人先将亮度从 7 调到 5,到达终点后再将亮度从 5 调到 8,总代价为

(7-5)+(8-5)=5

这也说明答案不一定等于起止亮度差 \lvert 7-8\rvert=1,还会受到路径上允许亮度的最小值影响。

第 2 次任务的起点上限本身只有 3,所以机器人必须以不超过 3 的亮度离开起点,最后再在终点调到 8,总代价为 5。第 3 次任务不需要移动,只需把亮度从 4 调到 1,代价为 3。

第 4 次任务中,起点与终点相邻,机器人保持亮度 5 移动到终点后,再将亮度调至 8,代价为 3。

数据范围与测试点

本题包含 20 个测试点,每个测试点 5 分,测试点之间独立计分。

对于所有测试点,均保证以下基本范围成立:

  • 1\le X,Y,Z;
  • X\times Y\times Z\le 2\times 10^{5};
  • 1\le Q\le 2\times 10^{5};
  • 1\le A[x][y][z]\le 10^{6};
  • 1\le b_1,b_2\le 10^{6}。

在此基础上,各测试点的额外限制如下。表中的“—”表示除上述通用数据范围外,没有额外限制。

测试点编号X,Y,ZQA[x][y][z]分值
1X=Y=1,\ Z\le 30\le 500—5
2X=Y=1,\ Z\le 2\times 10^5\le 2\times 10^5—5
3Z=1,\ X\times Y\times Z\le 10^3\le 5\times 10^3—5
4Z=1,\ X\times Y\times Z\le 2\times 10^4\le 3\times 10^4—5
5X\times Y\times Z\le 10^3\le 5\times 10^3—5
6X\times Y\times Z\le 10^3\le 5\times 10^3A[x][y][z]=1005
7X=Y=Z=1\le 5\times 10^3—5
8X\times Y\times Z\le 2\times 10^4\le 3\times 10^4—5
9X=20,\ Y=20,\ Z=10\le 10^4\begin{cases}2,&x=11\10^6,&x\ne 11\end{cases}5
10X=30,\ Y=30,\ Z=10\le 10^4\begin{cases}2,&x=16\10^6,&x\ne 16\end{cases}5
11X=Y=Z=20\le 10^4A[x][y][z]\in{1,10^6}5
12X=40,\ Y=50,\ Z=50\le 2\times 10^5—5
13X=40,\ Y=100,\ Z=50\le 2\times 10^5—5
14X=50,\ Y=80,\ Z=50\le 2\times 10^5\begin{cases}2,&x=26\10^6,&x\ne 26\end{cases}5
15X=40,\ Y=50,\ Z=100\le 2\times 10^5A[x][y][z]=10^65
16X=50,\ Y=80,\ Z=50\le 2\times 10^5\begin{cases}10^6,&x\ne 26\lor(y,z)=(1,1)\1,&x=26\land(y,z)\ne(1,1)\end{cases}5
17X=50,\ Y=80,\ Z=50\le 2\times 10^5—5
18X=80,\ Y=50,\ Z=50\le 2\times 10^5\begin{cases}5\times10^5,&x=41\10^6,&x\ne 41\end{cases}5
19X=Y=1,\ Z\le 10^5\le 2\times 10^5—5
20X=40,\ Y=50,\ Z=100\le 2\times 10^5—5

来源

2026第五届青少年编程挑战精英赛

时间限制 2 秒
内存限制 512 MB
讨论 统计
上一题 下一题