AT_abc440_g.[ABC440G] Haunted House
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
万圣节季已经到来。为了考验胆量,你即将挑战一间鬼屋。
鬼屋共有 F 层楼,每层楼由一个 H 行 W 列的网格表示。记单元格 (k,i,j) 为第 k 层网格中,从上数第 i 行、从左数第 j 列的单元格。
单元格 (k,i,j) 的内容由字符 Sk,i,j 定义,规则如下:
- 若 Sk,i,j 为数字(
0-9),则该单元格为空白单元格,内含的硬币数量等于该数字对应的一位整数。 - 若 Sk,i,j 为
#,则该单元格为墙壁单元格。
你可以从空白单元格 (k,i,j) 直接移动到另一个空白单元格 (k′,i′,j′),当且仅当后者是空白单元格且满足以下条件之一:
- k′=k 且 ∣i′−i∣+∣j′−j∣=1(同层上下左右相邻);
- (k′,i′,j′)=(k+1,i,j)(移动到上一层同位置);
- (k′,i′,j′)=(k−1,i,j),且单元格 (k,i,j) 处放置了梯子(仅可从有梯子的位置向下移动到下一层同位置)。
你不能移动到网格外。
给定 Q 次询问,请回答每一次询问。第 i 次询问(1≤i≤Q)要求如下:
- 选择恰好一个空白单元格放置梯子,从单元格 (Gi,Ai,Bi) 出发并持续移动,求能收集到的单元格中硬币总数的最大值。
每次询问相互独立。即,为某次询问放置的梯子不会影响其他询问。
输入格式
输入以标准输入的形式给出,格式如下:
$ F \ \ H \ \ W $
$ S_{1,1,1}S_{1,1,2}\cdots S_{1,1,W} $
$ S_{1,2,1}S_{1,2,2}\cdots S_{1,2,W} $
$ \vdots $
$ S_{1,H,1}S_{1,H,2}\cdots S_{1,H,W} $
$ S_{2,1,1}S_{2,1,2}\cdots S_{2,1,W} $
$ S_{2,2,1}S_{2,2,2}\cdots S_{2,2,W} $
$ \vdots $
$ S_{2,H,1}S_{2,H,2}\cdots S_{2,H,W} $
$ \vdots $
$ S_{F,1,1}S_{F,1,2}\cdots S_{F,1,W} $
$ S_{F,2,1}S_{F,2,2}\cdots S_{F,2,W} $
$ \vdots $
$ S_{F,H,1}S_{F,H,2}\cdots S_{F,H,W} $
$ Q $
$ G_1 \ \ A_1 \ \ B_1 $
$ G_2 \ \ A_2 \ \ B_2 $
$ \vdots $
$ G_Q \ \ A_Q \ \ B_Q $
输出格式
输出 Q 行,第 i 行输出第 i 次询问的答案。
输入输出样例
输入#1
3 5 6 ###### ##5### #1#11# #1#11# ###### ###### ##313# #4##1# #242## ###### ###### #0#### ##4### ###99# ###### 3 1 2 3 2 3 2 3 2 2
输出#1
47 34 0
输入#2
3 6 30 31#990#7###71298#6#9####3##04# ###66###6######7#4#3#1079239#6 891###8#73#7#5838#589#225#1282 #####5#306#9#38#50##6#71##8658 6#68#4#5###30###3#5716987##### 06#8####3#####134#5##2##28#169 #5#11####0#75#8######28#6#904# 85#71####0##9#7#0##8#2##00#### #1#09#3772#838#67#6##261###0#4 #4##78###7#########9#9#488##08 43#1##4632##46714436##849#77#6 8#83#61##4#14476#9#1##72#3#### 5#99####52##6#9####9#4#4132#3# ##910#27529#69##491###0#06#9## 0#60845#02##28##610#2####25#6# #229156374##47#30907#60#####28 #0#810#54###21##1#3###8#5917## ###6#56#60##04#73###6255###2## 10 3 4 23 3 2 4 1 4 14 2 3 12 1 1 16 1 2 9 3 5 6 1 3 19 2 2 4 3 4 9
输出#2
136 217 474 255 474 285 217 451 251 217
说明/提示
样例解释 1
对于第一次询问,在单元格 (2,3,5) 放置梯子并按以下方式移动,可收集到的硬币总数为 47:
- 从第一层的单元格 (1,2,3) 出发;
- 向上移动到第二层,按顺序移动:(2,2,3)→(2,2,4)→(2,2,5)→(2,3,5);
- 向下移动到第一层,按顺序移动:(1,3,5)→(1,4,5)→(1,4,4)→(1,3,4)→(1,4,4);
- 向上移动到第二层,按顺序移动:(2,4,4)→(2,4,3)→(2,4,2)→(2,3,2)→(2,4,2)→(2,4,3)→(2,4,4);
- 向上移动到第三层,按顺序移动:(3,4,4)→(3,4,5)。
对于第二次询问,在单元格 (2,4,4) 放置梯子,按照以下步骤移动,你收集到的经过单元格的硬币总数可以达到 34:
- 在第二层按顺序移动:(2,3,2)→(2,4,2)→(2,4,3)→(2,4,4);
- 向下移动到第一层,再按顺序移动:(1,4,4)→(1,4,5)→(1,3,5)→(1,3,4)→(1,4,4);
- 向上移动回到第二层,到达单元格 (2,4,4);
- 向上移动到第三层,再按顺序移动:(3,4,4)→(3,4,5)。
对于第三次询问,无论你将梯子放置在哪个单元格,都无法从起点单元格 (3,2,2) 移动到其他位置。
数据范围
- F,H,W 为整数;
- 1≤F≤10;
- 1≤H,W≤500;
- Sk,i,j 为数字(
0-9)或#(1≤k≤F,1≤i≤H,1≤j≤W); - Q 为整数;
- 1≤Q≤105;
- Gi,Ai,Bi 为整数(1≤i≤Q);
- 1≤Gi≤F(1≤i≤Q);
- 1≤Ai≤H(1≤i≤Q);
- 1≤Bi≤W(1≤i≤Q);
- SGi,Ai,Bi 不为
#(1≤i≤Q)。
输入解题思路,AI测评打分。不知道怎么写?