我正在读关于DSA的书,在解决迷宫中的鼠标问题时,他使用的是堆栈。但是,如果我想的话,我该如何计算老鼠所采取的步骤呢?因为根据他的堆栈解决方案,假阳性邻居(即。未能到达目的地的邻居也会被标记,并且没有回溯来取消这些单元格的标记。请帮帮我。请给我。
编辑: his算法
exitMaze ()
while currentCell is not exitCell
mark currentCell as visited;
push unvisited neighbors of currentCell onto the stack
if stack
我要用java中的递归来解决迷宫,但是当我试图运行时,我会得到一个堆栈溢出错误。迷宫从+开始,通向终点的路径也是+,结束于-,墙壁是X,空格是潜在的路径,‘。将标志着一条死胡同。我认为导致错误的是回溯步骤。所显示的代码是我得到错误的部分。当迷宫路径是一条直线时,迷宫工作得很好。任何帮助都是非常感谢的。
/*Sample maze that causes errors
XXXXXXXXXXXX
+ XXX -
XXX XXX XXXX
XXX XX XXXX
XX X
XXXXXXXX
我正在制作一个基于二维瓷砖的迷宫游戏,我正在尝试编程一个人工智能玩家,可以找到它的路径通过迷宫。不同于一般的路径发现,我想限制每个玩家(包括AI玩家)的视野在他们周围的2x2。也就是说,AI应该只知道它周围的5x5网格以及迷宫中的确切坐标,比如:
Tile mapRecord[MAP_SIZE][MAP_SIZE];
Direction FindPathAI(int row, int column, Tile surroundings[5][5]) {
int i, j;
int r = row - 3, c = column - 3;
for (i = 0; i &l
我正在尝试修改类的初始化。当我这样做的时候,我得到了没有定义名称的错误。
例如,我不得不为类老鼠做同样的事情,下面是我的代码:
class Rat:
""" A rat caught in a maze. """
def __init__(self, symbol, row, col):
"""(Rat, str, int, int) - > NoneType
A rat with a symbol J or P donating who they are and
我正在试着写一个程序,用递归在3D迷宫中找到最短路径。
我可以编写代码在迷宫中找到一条随机路径,但我想知道如何修改代码以找到最短路径。
请注意,我希望保留递归方法。
有人能给出一个解决方案吗?
这是一个2D迷宫示例:
s
XXXX
XX X
XXX
Xe X
一种是从s到e。X是一个障碍,也是解决问题的途径。