【题目描述】
李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M*N个方格组成,有的方格内有可以瞬秒李逍遥的怪物,而有的方格内则是安全。现在李逍遥想尽快找到仙药,显然他应避开有怪物的方格,并经过最少的方格。现在要求你来帮助他实现这个目标。
下图显示了一个迷阵的样例及李逍遥找到仙药的路线。
【输入描述】
输入有多组测试数据。每组测试数据以两个非零整数M和N开始,两者均不大于20。M表示迷阵行数,N表示迷阵列数。接下来有M行,每行包含N个字符,不同字符分别代表不同含义:
(1) ‘@’ :少年李逍遥所在的位置;
(2) ‘.’ :可以安全通行的方格;
(3) ‘#’ :有怪物的方格;
(4) ‘*’ :仙药所在位置。
当一行中读入的是两个零时,表示输入结束。
【输出描述】
对于每组测试数据,分别输出一行,该行包含李逍遥找到仙药需要穿过的最少的方格数目(计数包括初始位置的方块)。如果他不可能找到仙药,则输出-1。
【输入样例】
8 8
.@##...#
#....#.#
#.#.##..
..#.###.
#.#...#.
..###.#.
...#.*..
.#...###
6 5
.*.#.
.#...