#P0403. 小W走迷宫
小W走迷宫
Background
注意本题需要使用文件读写,文件名为 mg.in/out
暑假了,小W的时间又开始多起来了,于是他决定去冒险,这并不奇怪,因为冒险的确很刺激。
这一天小W来到了一个藏有宝藏的迷宫, 迷宫由N×M个方格组成,有的方格内有可以吃掉小W的怪物,而有的方格内则是安全。现在小W想尽快找到宝藏,显然他应避开有怪物的方格,并经过最少的方格。现在要求你来帮助他实现这个目标。
Format
Input
第1行输入两个非零整数 M 和 N ,两者均不大于20。M 表示迷阵行数, N 表示迷阵列数。
接下来有 M 行, 每行包含N个字符,不同字符分别代表不同含义:
- ‘@’:小W所在的位置;
- ‘.’:可以安全通行的方格;
- ‘#’:有怪物的方格;
- ‘*’:宝藏所在位置。
Output
求小W找到宝藏需要穿过的最少的方格数目(计数不包括初始位置的方块)。如果他不可能找到宝藏, 则输出 -1。
Samples
6 6
.*.#..
.#....
..##..
......
.#....
....@.
8