用一个m×n的长方形阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。例如以下迷宫,从左上角坐标(1,1)为入口,右下角坐标(8,9)为出口。 
           1    2    3    4    5     6   7    8 
0        0        1        0        0        0        1        0 
0        0        1        0        0        0        1        0 
0        0        0        0        1        1        0        1 
0        1        1        1        0        0        1        0 
0        0        0        1        0        0        0        0 
0        1        0        0        0        1        0        1 
0        1        1        1        1        0        0        1 
1        1        0        0        0        1        0        1 
1        1        0        0        0        0        0        0 
   计算机解迷宫通常用的是“穷举求解”方法,即从入口出发,顺着某一个方向进行探索,若能走通,则继续往前进;否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。假如所有可能的通路都探索到而未能到达出口,则所设定的迷宫没有通路。 
可使用二维数组存储迷宫数据,通常设定入口点的下标为(1,1),出口点的下标为(m,n)。为处理方便,可在迷宫的四周加一圈障碍。对于迷宫任一位置,均可约定有东,南,西,北四个方向。 |   
        
 
    
    
    
     
 
 |