求助关于dfs的问题!!!有偿有偿
def dfs(a, i, j): global flag if i == 0&nbs***bsp;j == 0&nbs***bsp;i == n - 1&nbs***bsp;j == m - 1: flag = 1 a[i][j] = "." for x, y in [(i + 1, j), (i - 1, j), (i, j + 1), (i, j - 1), (i - 1, j - 1), (i - 1, j + 1), (i + 1, j - 1), (i + 1, j + 1)]: if 0 <= x and 0 <= y and a[x][y] == "#": dfs(a, x, y) n, m = map(int, input().split()) s = [] for i in range(n): p = list(map(str, input())) s.append(p) a = [[0] * 300 for i in range(300)] for i in range(n): for j in range(m): a[i][j] = s[i][j] h, l = len(s), len(s[0]) flag = 0 count = 0 if h == 0&nbs***bsp;l==0: print(0) for i in range(h): for j in range(l): if a[i][j] == "#": flag == 0 dfs(a, i, j) if flag == 0: count += 1 print(count)这道题我的思路是直接暴搜dfs,然后判断边界条件就行。可是我这个代码只能跑25%。我不理解,或许有没有大佬能看一下我代码的问题!(有偿)
https://ac.nowcoder.com/acm/contest/41/H#学习路径#