迷宫中的老鼠问题是一个经典的回溯算法示例。考虑一个N*N阶矩阵,老鼠从(0,0)出发,目标是到达(N-1,N-1)的位置。老鼠可以向上('U')、向下('D')、向左('L')、向右('R')移动,但在某些单元格中会遇到障碍,无法通行。障碍单元格用0表示,通行单元格用1表示。回溯算法可以用于查找所有从源点到目的地的路径,确保路径的字典顺序升序返回。

在路径规划过程中,老鼠不能重复访问任何单元格,因此每次尝试走到一个新位置时,都需要判断该位置是否已经访问过。如果源点为0,则说明老鼠无法移动,直接返回空路径列表。回溯算法通过递归的方式,不断尝试每一种可能的路径,直到找到所有有效路径。每当到达目标位置时,当前路径被加入到结果列表中。

回溯算法的实现可以通过设置一个二维布尔数组记录访问状态,每次递归时都标记当前单元格为已访问,递归返回后再恢复状态。这样,算法能够避免重复访问相同位置,同时探索所有可能的路径。最终,按字典顺序输出所有路径,以满足题目要求。