题解 | #迷宫问题#

迷宫问题

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

def fun(i, j, ls, tup):
    if i==m-1 and j==n-1:
        for x in ls:
            print("(%s,%s)"%(x[0],x[1]))
        return
    if (i, j - 1) != tup and j - 1 >= 0 and dp[i][j - 1] == "0":
        l = ls[:]
        l.append((i, j - 1))
        fun(i, j - 1, l, (i, j))
    if (i, j + 1) != tup and j + 1 <= n - 1 and dp[i][j + 1] == "0":
        l = ls[:]
        l.append((i, j + 1))
        fun(i, j + 1, l, (i, j))
    if (i - 1, j) != tup and i - 1 >= 0 and dp[i - 1][j] == "0":
        l = ls[:]
        l.append((i - 1, j))
        fun(i - 1, j, l, (i, j))
    if (i + 1, j) != tup and i + 1 <= m-1 and dp[i + 1][j] == "0":
        l = ls[:]
        l.append((i + 1, j))
        fun(i + 1, j, l, (i, j))


l = input().split()
m, n = int(l[0]), int(l[1])
dp = [input().split() for _ in range(m)]
fun(0,0,[(0,0)],(0,0))

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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