QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 70

#8119. 企鹅

Statistiques

企鹅 Zrakoplović 想要学习飞行!

他学习飞行的空间可以想象成一个维度为 $n \times n \times n$ 的立方体,被划分为 $n^3$ 个单位立方体。每个单位立方体可以用三个坐标 $(x, y, z)$ 来描述,其中 $x, y, z$ 是 $1$ 到 $n$ 之间的整数。坐标 $x$ 表示距离空间左边缘的距离,坐标 $y$ 表示距离空间前边缘的距离,坐标 $z$ 表示高度。

其中一些单位立方体包含云,而另一些则没有。

Zrakoplović 害怕云,所以他只会学习在没有云的地方飞行。他最初位于位置 $(x_s, y_s, z_s)$,其中 $z_s = 1$(即高度为 1),并希望到达位置 $(x_e, y_e, z_e)$。

目前,他正在完善平行于空间坐标轴(即 $x$ 轴、$y$ 轴或 $z$ 轴方向)的飞行技能,并且在一次拍打翅膀中,他最多可以跨越一个单位立方体。

在决定飞行之前,Zrakoplović 想知道他需要拍打多少次翅膀才能到达目标位置。在他准备飞行时,请帮他回答这个问题。

输入格式

第一行包含一个整数 $n$ ($1 \le n \le 100$),表示 Zrakoplović 学习飞行的空间维度。

第二行包含三个整数 $x_s, y_s$ 和 $z_s$ ($1 \le x_s, y_s \le n, z_s = 1$),表示 Zrakoplović 的起始位置。

第三行包含三个整数 $x_e, y_e$ 和 $z_e$ ($1 \le x_e, y_e, z_e \le n$),表示 Zrakoplović 的目标位置。

接下来是 $n$ 个维度为 $n \times n$ 的二进制矩阵,描述了该空间,其中第 $i$ 个矩阵描述了高度为 $i$ 时的空间情况。左上角坐标为 $(1, 1, i)$。矩阵的行和列分别对应 $x$ 和 $y$ 坐标。

'0' 表示没有云的单位立方体,'1' 表示有云的单位立方体。

Zrakoplović 的起始位置和目标位置都不会是云。

输出格式

在第一行中,输出 Zrakoplović 到达目标位置所需的最少拍打翅膀次数。如果 Zrakoplović 无法到达目标位置,则输出 '-1'。

子任务

子任务 分值 数据范围
1 7 $n = 2$
2 16 没有云
3 22 所有 $z$ 坐标大于 1 的位置都是云
4 25 无额外限制

样例

输入 1

2
1 1 1
1 1 2
00
10
01
00

输出 1

1

说明 1

Zrakoplović 可以通过沿 $z$ 轴方向移动一个单位立方体,在一次拍打翅膀内到达目标位置。

输入 2

3
2 3 1
1 1 1
000
010
000
111
111
111
111
111
111

输出 2

3

输入 3

3
2 1 1
3 2 2
000
010
110
010
001
001
101
110
000

输出 3

3

说明 3

Zrakoplović 可以通过先移动到位置 $(2, 1, 2)$,然后移动到 $(2, 2, 2)$,最后移动到 $(3, 2, 2)$,在三次拍打翅膀内到达目标位置。

Figure 1. Zrakoplović 想要学习飞行

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.