#y1051. 迷宫问题

迷宫问题

设有一个M*N方格的迷宫,入口和出口分别在左上角和右下角。迷宫格子中分别放有0和1,0表示可通,1表示不能,迷宫走的规则如下图所示:即从某点开始,有八个方向可走,前进方格中数字为0时表示可通过,为1时表示不可通过,要另找路径。

输入例子:(从文件中读取数据)

8 8

0 0 0 1 1 0 1 0

1 0 1 1 0 1 1 0

0 1 0 0 1 0 0 1

0 0 1 1 0 1 0 1

0 1 0 0 0 1 1 0

0 1 1 1 1 1 0 1

0 0 1 1 1 0 1 1

1 1 0 0 0 0 0 0

入口:(1,1);出口:(8,8)

输出要求:找出一条 从入口(左上角)到出口(又上角)的路径(不能重复)。

(1,1)->(2,2)->(3,3)->(3,4)->(4,5)->(3,6)->(3,7)->(4,7)->(5,8)->(6,7)->(7,6)->(8,7)->(8,8)

现在给你一个n*n的方阵,请输出所有的路径,每个路径一行
如果没有路径,则输出-1

输入样例:

4 4

0 1 0 1

1 0 1 0

0 1 0 0

0 1 1 0

输出样例:

(1,1)->(2,2)->(1,3)->(2,4)->(3,4)->(4,4)

(1,1)->(2,2)->(1,3)->(2,4)->(3,4)->(3,3)->(4,4)

(1,1)->(2,2)->(1,3)->(2,4)->(3,3)->(3,4)->(4,4)

(1,1)->(2,2)->(1,3)->(2,4)->(3,3)->(4,4)

(1,1)->(2,2)->(3,3)->(2,4)->(3,4)->(4,4)

(1,1)->(2,2)->(3,3)->(3,4)->(4,4)

(1,1)->(2,2)->(3,3)->(4,4)

【提示】

1<m,n<100

按如下方向搜索
image