编程题
### 问题描述 小蓝有一天误入了一个混境之地。 好消息是:他误打误撞拿到了一张地图,并从中获取到以下信息: 1. 混境之地的大小为 $n \cdot m$,其中 `#` 表示不可通过的墙壁,`.` 表示可以走的路。 2. 他现在所在位置的坐标为 $(x_1, y_1)$ ,而这个混境之地出口的坐标为 $(x_2, y_2)$ ,当站在出口时即表示可以逃离混境之地。 4. 混境之地中存在 $26$ 种恶魔果实(用 $A, B, \cdots, Z$ 表示),吃下会损失一定能量。吃下苹果 $A, B, \cdots, Z$ 分别会导致损失 $1, 2, \cdots, 26$ 点能量。 坏消息是: 1. 小蓝太饿了,看到果子就忍不住去吃掉。 2. 小蓝仅剩下 $E$ 点能量,能量值不可小于 $0$ 。 小蓝可以往上下左右四个方向行走,不消耗能量。 小蓝想知道他能否逃离这个混境之地,如果可以逃离这里,则输入 `Yes` ,反之输出 `No` 。 ### 输入格式 第 $1$ 行输入两个正整数 $n, m$ ,表示混境之地的大小。 第 $2$ 行输入四个正整数 $x_1, y_1, x_2, y_2$ ,表示小蓝当前所在位置的坐标,以及混境之地出口的坐标。 第 $3$ 行至第 $n + 2$ 行,每行 $m$ 个字符,表示混境之地的地图,其中 `#` 表示不可通过的墙壁, `.` 表示普通的道路, $A, B, \cdots, Z$ 表示恶魔果实。 最后一行一个正整数 $E$ ,代表剩余的能量值。 ### 输出格式 输出数据共一行为一个字符串: - 若小蓝可以逃离混境之地,则输出 `Yes` 。 - 若小蓝无法逃离混境之地,则输出 `No` 。 ### 样例输入1 ```txt 5 5 1 1 5 5 ...#. ..#.. #..CC ...#C ...#. 9 ``` ### 样例输出1 ```txt Yes ``` ### 样例解释1 ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1781663-20230703-1688387775087) 如图所示,绿色方块表示可以走的路,红色方块表示墙,蓝色圆圈小蓝当前所在的位置,橙色圆圈为终点,黄色方块 $C$ 表示恶魔果实。 从 $(1, 1)$ 到 $(5, 5)$ 的一条可行道路为: $(1, 1) \rightarrow (1, 2) \rightarrow (2, 2) \rightarrow (3, 2) \rightarrow (3, 3) \rightarrow (3, 4) \rightarrow (3, 5) \rightarrow (4, 5) \rightarrow (5, 5)$ 。 ### 样例输入2 ```txt 5 5 1 1 5 5 ...#. ..#.. #..CC ...#C ...#. 7 ``` ### 样例输出2 ```txt No ``` ### 样例解释2 如样例 $1$ 所示,若剩余能量为 $7$ ,则无法逃离混境之地,则输入 `No` 。 ### 数据范围 对于所有测试样例, $1 \leq n, m \leq 1000$ , $ 1 \leq E \leq 10^6$ 。 数据保证起点和终点一定为普通道路。
查看答案
赣ICP备20007335号-2