秃头小二 2023-03-16 19:30 采纳率: 100%
浏览 42
已结题

蓝桥杯 DFS Python 玩具蛇

求大家帮忙分析一下我这代码写的哪里出问题了,
刚开始学DFS不怎么会,
我debug了半小时也没发现问题,
但是运行结果不对。
灰常感谢!

题目在这:(也可访问链接)

img

我的代码:

lst = [[1] * 4 for _ in range(4)]
res = 0


def dfs(i, j):
    global res
    if lst[i][j] == 16:
        res += 1
        return
    for dx, dy in [(0, 1), (0, -1), (1, 0), (-1, 0)]:
        x = i + dx
        y = j + dy
        if 0 <= x < 4 and 0 <= y < 4 and lst[x][y] == 1:
            lst[x][y] = lst[i][j] + 1
            dfs(x, y)
            lst[x][y] = 1


for i in range(4):
    for j in range(4):
        dfs(i, j)
print(res)

答案是500多,我运行出来3000多……
劳烦帮忙找一下问题所在,灰常感谢灰常感谢~

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-03-16 19:40
    关注

    res定义在外面看看,对res初始化下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月16日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度