题解 | #迷宫问题#

迷宫问题

http://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc

def dfs(i, j):
    walk = [(0,1), (0,-1), (1,0), (-1,0)]
    
    if i == m-1 and j == n-1:
        for p in path:
            print("({x},{y})".format(x=p[0], y=p[1]))
        return
    
    for w in walk:
        x = i + w[0]
        y = j + w[1]
        if 0 <= x < m and 0 <= y < n and lst[x][y] == 0:
            lst[x][y] = 1
            path.append((x,y))
            dfs(x,y)
            lst[x][y] == 0
            path.pop()   

while 1:
    try:
        lst = []
        m, n = list(map(int, input().split()))
        for _ in range(m):
           lst.append(list(map(int, input().split()))) 
        
        path = [(0,0)]
        lst[0][0] = 1
        
        dfs(0,0)
                            
    except:
        break
全部评论

相关推荐

2025-12-23 18:51
中南大学 Java
唉又萌混过关:是不是那种收钱盖实习章的机构?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务