QOJ.ac

QOJ

时间限制: 5 s 内存限制: 1024 MB 总分: 100

#11235. 熊猫先生与管道大师

统计

Mr. Panda 热爱玩游戏。最近他迷上了一款名为 TubeMaster 的游戏。

在 TubeMaster 中,玩家可以在 $N \times M$ 的网格中铺设管道。每个单元格可以保持为空,或者放置以下四种管道中的恰好一种:

当两个共享同一条边的相邻单元格通过管道连接时(例如下图所示),玩家将获得一定的分数(分数将在输入格式部分说明)。

有些单元格被视为“必要单元格”,这意味着这些单元格中的每一个都必须包含管道,否则玩家将输掉游戏。

在游戏结束前,网格必须处于合法的配置状态,否则玩家将输掉游戏。

合法的配置必须满足以下条件: 每个单元格要么不包含管道,要么包含的管道属于某个管道环。 每个必要单元格都必须包含管道。

注意,合法的配置中可能同时出现多个管道环,且当没有必要单元格时,空网格也可以是合法的配置。

在上面的网格中,左侧的是合法配置,而中间和右侧的不是。(灰色单元格为必要单元格)

Mr. Panda 想要通过获得最大化的分数累积来赢得游戏。请你帮他计算这个数值。

输入格式

输入的第一行包含测试用例的数量 $T$。

接下来是 $T$ 个测试用例。每个测试用例的第一行包含两个由空格分隔的数字 $N$ 和 $M$,分别表示网格的行数和列数。

接下来 $N$ 行,每行包含 $M-1$ 个由空格分隔的数字,其中 $\text{ScoreC}_{i,j}$(即第 $i$ 行的第 $j$ 个数)表示连接单元格 $(i, j)$ 和单元格 $(i, j+1)$ 的管道所获得的分数。

接下来 $N-1$ 行,每行包含 $M$ 个由空格分隔的数字,其中 $\text{ScoreR}_{i,j}$(即第 $i$ 行的第 $j$ 个数)表示连接单元格 $(i, j)$ 和单元格 $(i+1, j)$ 的管道所获得的分数。

接下来一行包含一个数字 $E$,表示必要单元格的数量。

最后 $E$ 行,每行包含两个由空格分隔的数字 $R_i$ 和 $C_i$,表示单元格 $(R_i, C_i)$ 是一个必要单元格。

输出格式

对于每个测试用例,输出一行 “Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是 Mr. Panda 赢得游戏时能获得的最大分数累积。如果 Mr. Panda 无法赢得游戏,则 $y$ 输出 “Impossible”。

数据范围

  • $1 \le T \le 100$
  • $1 \le N, M \le 30$
  • $-500 \le \text{ScoreC}_{i,j}, \text{ScoreR}_{i,j} \le 500$
  • $0 \le E \le 100$
  • $1 \le R_i \le N$
  • $1 \le C_i \le M$
  • 对于 40% 的测试用例,$N, M \le 10$。

样例

样例输入 1

2
4 4
0 0 -1
0 1 0
0 -1 -1
0 1 0
1 0 1 0
-1 -1 0 0
1 1 -1 -1
1
3 3
2 3
0 0
0 0
0 0 0
2
1 1
2 3

样例输出 1

Case #1: 2
Case #2: Impossible

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.