zgjja


私信TA

用户名:zgjja

访问量:10787

签 名:

X_X

等  级
排  名 146
经  验 7104
参赛次数 0
文章发表 71
年  龄 0
在职情况 学生
学  校
专  业 X_X

  自我简介:

解题思路:

注意事项:

参考代码:

def dfs(x=0, y=0, add_all=0):
    global map_, visited, around, sum_, res, end_flag
    if add_all == sum_ // 2:
        end_flag = 1
        return 
    if not visited[x][y]:
        visited[x][y] = True        
        add_all += map_[x][y]
        res += 1
        for i in around:
            if 0 <= i[0] + x < n and 0 <= i[1] + y < m:
                dfs(i[0] + x, i[1] + y, add_all)
            if end_flag:
                return
        visited[x][y] = False
        res -= 1
        add_all -= map_[x][y]


m, n = map(int, input().split())
map_ = [list(map(int, input().split()))[:m] for _ in range(n)]
visited = [[False for _ in range(m)] for _ in range(n)]
around = [[1, 0], [0, 1], [-1, 0], [0, -1]]
sum_, res, end_flag = sum(sum(i) for i in map_), 0, 0
dfs()
print(res)


 

0.0分

1 人评分

  评论区