15行代码过80%+,还有一点小瑕疵等我下次再找

let n=readline().split(' ').map(Number),maze=[]//读数据
while(line=readline()) maze.push(line.split(' ').map(Number))
function find(i,j,road){
    road.push([i,j]);//先推入0,0
    maze[i][j]=1;
    if(i==n[0]-1 && j==n[1]-1){
        for (let i of road) print(`(${i[0]},${i[1]})`);
    }
    if(j+1<n[1] && maze[i][j+1]==0) find(i,j+1,road)//右
    if(i+1<n[0] && maze[i+1][j]==0) find(i+1,j,road)//下
    if(j-1 >= 0 && maze[i][j-1]==0) find(i,j-1,road)//左
    if(i-1 >= 0 && maze[i-1][j]==0) find(i-1,j,road)//上
}
find(0,0,[])

递归调用,每次判断上下左右四方向;

走过路径标记为1,直到最终到达终点

借鉴隔壁python解法:题解 | #迷宫问题#