#P16658. [GKS 2018 #G] Cave Escape
[GKS 2018 #G] Cave Escape
题目描述
Raven 先生被困在一个由 行 列组成的洞穴中,行从上到下编号为 到 ,列从左到右编号为 到 。第 行第 列的格子记为 。Raven 先生当前位于格子 ,洞穴的出口位于格子 。
洞穴中的某些格子可能有障碍物。Raven 先生不能踏入有障碍物的格子。
某些格子可能有陷阱。Raven 先生第一次进入有陷阱的格子时,他必须消耗等于陷阱强度的能量点数。如果他的能量点数少于所需,则他无法进入该格子。
此外,某些格子可能有药水。Raven 先生第一次进入有药水的格子时,他会获得等于药水强度的能量点数。
Raven 先生初始有 点能量。他可以在共享一条边(不仅仅是角)的格子之间移动。在出口格子上,如果他愿意,可以选择不离开洞穴而继续探索。请帮助他判断:如果可能到达出口,当他离开洞穴时能拥有的最大能量点数是多少?
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例的第一行包含七个整数 、、、、、 和 ,含义如上所述。接下来的 行中的第 行描述了洞穴的第 行。每行包含 个整数 ;其中第 个整数表示第 行第 列的格子。每个 可以是以下类型之一:
- :表示空单元格。
- :表示有障碍物的格子。
- 介于 与 之间(包含两端)的整数:表示一个陷阱,其强度为 。
- 介于 与 之间(包含两端)的整数:表示一个药水,其强度为 。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是 Raven 先生到达洞穴出口时能拥有的最大能量点数。如果无法到达出口,则输出 。
2
4 4 100 1 1 4 4
0 0 0 0
0 0 0 0
0 0 0 -100000
0 0 -100000 0
2 2 100 1 1 2 2
0 0
0 0
Case #1: -1
Case #2: 100
1
8 8 250 7 1 1 7
-100000 -100000 -100000 -100000 -100000 -100000 0 -100000
-100000 0 -100000 0 -400 0 0 -100000
-100000 100 -300 0 -100000 -300 -100000 -100000
-100000 0 -100000 500 -100000 250 0 -100000
-100000 -200 -100000 -100000 -100000 -100000 -100 -100000
-100000 0 -100000 0 0 50 50 -100000
0 0 -100 0 -100000 50 -100000 -100000
-100000 -100000 -100000 -100000 -100000 -100000 -100000 -100000
Case #1: 250
提示
在样例 #1 中,Raven 先生无法到达出口。
在样例 #2 中,没有陷阱也没有药水,这意味着 Raven 先生可以到达出口,并且无论他选择哪条路径,他的能量都将保持不变。
限制条件
。
。
。
。
。
。
。
。
。
对于所有 ,。
最多有 个格子满足 。(最多有 个陷阱。)
。(Raven 先生的起始位置是空单元格。)
。(出口所在的格子是空单元格。)
小数据集(测试集 1 – 可见)
没有格子满足 。(洞穴中没有药水。)
大数据集(测试集 2 – 隐藏)
无额外限制。
翻译由 DeepSeek V4 Pro 完成