题解 | #走方格的方案数#DFS做法

走方格的方案数

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

def dfs(i, j):
    if i == n and j == m:
        temp.append(1)
        return

    for k in range(2):
        x = i + dx[k]
        y = j + dy[k]
        if (0 <= x <= n) and (0 <= y <= m) and maze[x][y] == 0:
            maze[x][y] = 1
            dfs(x, y)
            maze[x][y] = 0
    else:
        return


while True:
    try:
        n, m = map(int, input().strip().split(' '))
        maze = [[0] * (m + 1) for _ in range(n + 1)]
        dx = [0, 1]
        dy = [1, 0]
        temp = []
        dfs(0, 0)
        print(len(temp))
    except:
        break

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 14:08
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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