编程题
### 问题描述 小明正在玩一款名为农夫与蛇的游戏,在一个 $n \times n$ 的蛇洞中,农夫要从左上角 $(1,1)$ 的位置开始逃离蛇洞,每次可以向四个方向移动(前后左右)。 每方格可能会有捕蛇道具(如果有捕蛇道具,可以在遇到蛇的时候使用用 ```%``` 表示捕蛇道具),捕蛇道具是消耗品,使用则数量减 $1$ 。也可能是蛇( ```&``` 表示蛇),如果遇到蛇,在没有道具的保护下,会扣 $1$ 血量值,还有一种就是遇到死胡同( ```#``` 表示不可走),```*``` 表示空地(无任何限制)。 农夫一开始血量值为 $k$,出口位置在右下角 $(n,n)$ ,农夫要逃离蛇洞,请计算他逃离蛇洞的最少步数(到出口后农夫血量值为正整数才算逃离),如果不能逃离则输出 $null$ 。 ### 输入格式 第一行输入两个整数 $n,k$ ( $2 \leq n \leq 1000$ , $1 \leq n \leq 100$ )。 第 $2$ 到 $n + 1$ 每行包含 $n$ 个字符,表示地图上该位置的信息。 ### 输出格式 输出仅一行,如果能逃离,则输出农夫逃离最少步数,否则输出 $null$。 ### 样例输入 ``` 5 3 ***%# ##%## &**#& **##& &**** ``` ### 样例输出 ``` 10 ```
查看答案
赣ICP备20007335号-2