📜  迷宫中的老鼠的Python程序回溯-2

📅  最后修改于: 2022-05-13 01:56:56.756000             🧑  作者: Mango

迷宫中的老鼠的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.