AT_tkppc2015_d サポーター (Supporter)
题目描述
joisino 姐姐在休息结束后,结识了一位冒险者,他们决定一同进入地下城探险。
途中顺利进行,但意外发生,他们需要迅速赶往一个安全地带。
地下城的每一层都由 $R$ 行 $C$ 列的房间组成,总共 $R \times C$ 个房间,排列成一个网格。
joisino 姐姐和她的同伴目前位于当前层最西北的房间。
安全地带位于从当前层向下 $N-1$ 层的最东南的房间。
除了安全地带所在的层以外,每一层都有一些洞。
洞位于某个房间内,掉入洞中就会降至下一层。在掉落后的位置与掉入位置在同一相对坐标,即以西北角房间为原点向东 $x$ 格、向南 $y$ 格。
掉落后的房间内不会再有洞,也就是说,进入有洞的房间时,必须掉下去。
每个房间都有一个危险度。
危险度越高,通过该房间的风险越大。有洞的房间危险度为 $0$,但是掉落后的房间危险度需要计算。
此时 joisino 姐姐所在房间和安全地带的房间的危险度为 $0$。
joisino 姐姐希望尽可能避免危险,以安全到达安全地带。
为此,她需要找到一条最短路径(即不向西或北移动),并使路径上的房间危险度总和最小。
作为一名优秀的程序员,joisino 姐姐决定编写一个程序计算这条路径的危险度总和。
输入格式
输入由标准输入给出,格式如下:
> $ N $ $ R $ $ C $\
> $ S_1 $ $ S_2 $ : $ S_{N*R} $
- 第 $1$ 行包含三个整数 $N$、$R$ 和 $C$,表示层数($2 \leq N \leq 100$)、每层的行数($2 \leq R \leq 100$)和列数($2 \leq C \leq 100$)。
- 下面的 $N \times R$ 行中,第 $K \times R + 1$ 行到第 $(K+1) \times R$ 行描述了第 $K$ 层的信息($0 \leq K \leq N-1$)。每一层用 $R$ 行表示,每行是一个长度为 $C$ 的字符串,由 `H` 和 `0` 到 `9` 的数字构成。第 $j$ 个字符为 `H` 时,表示该房间有一个洞;为 `0` 表示该房间是起点或终点;数字 $1$ 到 $9$ 表示房间的危险度。
保证对所有输入,至少存在一条通往安全地带的路径。
输出格式
输出一行,表示路径上房间危险度总和的最小值,并在末尾换行。
说明/提示
### 示例解释 1
可以按顺序 南→掉入洞→东→东→掉入洞→南 移动,以使危险度总和最小。
**本翻译由 AI 自动生成**