QOJ.ac

QOJ

Time Limit: 4.0 s Memory Limit: 32 MB Total points: 100

#17015. POŠTAR

Statistics

Mirko 在一个山丘小镇上找到了一份邮递员的工作。这个小镇可以用一个 $N \times N$ 的矩阵来表示。每个格子仅包含以下内容之一:用 'K' 表示的房屋、用 'P' 表示的邮局,或用 '.' 表示的牧场。此外,每个格子都被分配了一个海拔高度。

每天早晨,Mirko 都要向镇上的所有房屋投递信件。他从用 'P' 表示的格子出发,该格子代表镇上唯一的邮局。Mirko 只能移动到相邻的格子,允许水平、垂直和对角线方向移动。一旦他投递完最后一封信,他就必须返回邮局。

Mirko 根本不知道他的工作会有多累。我们将 Mirko 在投递信件(并返回邮局)过程中访问过的格子的最高海拔与最低海拔之差定义为他的疲劳度。请帮助他确定投递完所有信件并返回邮局所需的最小可能疲劳度。

输入格式

第一行包含一个整数 $N$($2 \le N \le 50$)。

接下来的 $N$ 行表示矩阵中对应行的格子。字符 'P' 将恰好出现一次,而字符 'K' 将至少出现一次。

接下来的 $N$ 行,每行包含 $N$ 个正整数,表示对应矩阵行中格子的海拔高度。这些数值均小于 $1\,000\,000$。

输出格式

在单行中输出一个整数,表示最小可能的疲劳度。

样例

输入样例 1

2
P.
.K
2 1
3 2

输出样例 1

0

输入样例 2

3
P..
.KK
...
3 2 4
7 4 2
2 3 1

输出样例 2

2

输入样例 3

3
K.P
...
K.K
3 3 4
9 5 9
8 3 7

输出样例 3

5

说明

第一个样例说明:从邮局出发,Mirko 可以直接移动到有房子的格子,投递信件,然后返回邮局。由于邮局所在的格子和房子所在的格子海拔相同,Mirko 的疲劳度为 $0$。

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.