迷宫中的老鼠的Python程序回溯-2
我们在第 1 组中讨论了回溯和骑士的旅行问题。让我们讨论迷宫中的老鼠作为另一个可以使用回溯解决的示例问题。
迷宫以 N*N 块的二进制矩阵形式给出,其中源块是最左上的块,即 maze[0][0],目标块是最右下的块,即 maze[N-1][N-1] .一只老鼠从源头开始,必须到达目的地。老鼠只能在两个方向上移动:向前和向下。
在迷宫矩阵中,0 表示该块是死路,1 表示该块可以在从源到目的地的路径中使用。请注意,这是典型迷宫问题的简单版本。例如,更复杂的版本可以是老鼠可以在 4 个方向上移动,而更复杂的版本可以是有限数量的移动。
以下是一个示例迷宫。
Gray blocks are dead ends (value = 0).
以下是上述迷宫的二进制矩阵表示。
{1, 0, 0, 0}
{1, 1, 0, 1}
{0, 1, 0, 0}
{1, 1, 1, 1}
以下是带有突出显示解决方案路径的迷宫。
以下是上述输入矩阵的解矩阵(程序的输出)。
{1, 0, 0, 0}
{1, 1, 0, 0}
{0, 1, 0, 0}
{0, 1, 1, 1}
All entries in solution path are marked as 1.
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。