题解 | #迷宫问题#

迷宫问题

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

DFS

m, n = map(int, input().split())
mat = []
x, y = 0, 0
for i in range(m):
    mat.append(list(map(int, input().split())))

def dfs(x,y,track):
    if x==m-1 and y ==n-1:
        for t in track:
            print(t)
    for dx, dy in ((0,1),(0,-1),(1,0),(-1,0)):
        if 0<=dx+x<m and 0<=dy+y<n and not mat[x+dx][y+dy]:
            mat[x][y] = 1
            dfs(x+dx,y+dy,track+[f"({x+dx},{y+dy})"])
            mat[x][y] = 0
    
dfs(0,0,["(0,0)"])
全部评论
第15行为什么要将mat[x][y]置0? 什么条件下才能执行到第15行?
点赞 回复 分享
发布于 2023-11-20 11:50 陕西
妙啊
点赞 回复 分享
发布于 2022-09-23 16:00 四川
啥意思,看不懂
点赞 回复 分享
发布于 2022-06-13 14:50

相关推荐

06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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