QOJ.ac

QOJ

実行時間制限: 3 s - 4 s メモリ制限: 1024 MB 満点: 33

#5789. 分水岭

統計

地质学家有时会根据雨水流向将土地划分为不同的区域,这些区域被称为流域

给定一张海拔地图(一个二维海拔数组),请为地图上的每个位置分配一个标签,使得属于同一流域的位置具有相同的标签,并遵循以下规则:

  • 从每个单元格出发,水最多流向其 4 个相邻单元格中的一个。
  • 对于每个单元格,如果其 4 个相邻单元格的海拔都不低于当前单元格,则水不会流动,该单元格被称为汇点
  • 否则,水会从当前单元格流向海拔最低的相邻单元格。
  • 如果存在多个海拔最低的相邻单元格,水将按照以下优先顺序选择方向:北、西、东、南。

所有直接或间接流向同一个汇点的单元格都属于同一个流域。每个流域用一个唯一的小写字母标记,标记方式需满足:当将地图的行从上到下连接起来时,得到的字符串在字典序上最小。(特别地,最西北侧单元格所在的流域总是被标记为 'a'。)

输入格式

输入文件的第一行包含地图的数量 $T$。接下来是 $T$ 个地图,每个地图的第一行包含两个整数 $H$ 和 $W$,分别表示地图的行数和列数。接下来的 $H$ 行,每行包含 $W$ 个整数,表示从北到南、从西到东各单元格的海拔高度。

输出格式

对于每个测试用例,输出 $1+H$ 行。第一行的格式必须为:

Case #$X$:

其中 $X$ 是从 1 开始的测试用例编号。接下来的 $H$ 行必须列出每个单元格的流域标签,顺序与输入中的顺序一致。

数据范围

$T \le 100$

小数据集(10 分)

$1 \le H, W \le 10$

$0 \le \text{海拔} < 10$

最多有两个流域。

大数据集(23 分)

$1 \le H, W \le 100$

$0 \le \text{海拔} < 10,000$

最多有 26 个流域。

样例

样例输入 1

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

样例输出 1

Case #1:
a b b
a a b
a a a
Case #2:
a a a a a a a a a b
Case #3:
a a a
b b b
Case #4:
a a a a a
a a b b a
a b b b a
a b b b a
a a a a a

说明

在 Case #1 中,右上角和左下角是汇点。对角线上的水流向左下角,因为该方向的海拔更低(5 低于 6)。

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.