这道题我在考场上做了将近一个小时,回来又跳了两个小时,仍然不对,WA30分,求助。
第一个把我的代码调对的大佬获得5元。
推箱子
题目描述
推箱子应该算是一个家喻户晓的游戏了,这次你的任务就是用电脑算出如何移动人物,完成推箱子。

为了使问题简化,数据中只有3个箱子和3个洞。
注:人一次只能推动一个箱子,箱子推到洞上后不会消失,还可以被推出去,只有当三个箱子同时在洞中时,游戏结束
输入格式
第一行两个整数 n 和 m,表示地图的大小
接下来 n 行,每行 m 个元素。
.表示空地
#表示墙
*表示箱子
@表示洞
X表示人
输出格式
输出最少的步数完成游戏,如果无法完成游戏输出-1.
样例 #1
样例输入 #1
4 4
....
..*@
..*@
.X*@
样例输出 #1
7
样例 #2
样例输入 #2
6 4
@@@#
#*.#
#X.#
.**.
...#
..##
样例输出 #2
22
样例 #3
样例输入 #3
6 6
...#@.
@..*..
#*##..
..##*#
..X...
.@#...
样例输出 #3
11
提示
【数据规模与约定】
对于 30% 的数据,n 和 m 的范围 [3,5];
对于 100% 的数据,n 和 m 的范围 [3,8]。
【提示】
注意:箱子不能推到地图外面,人也不能到地图外面去。