Algorithm/DFS&BFS
[μ΄μ½ν ]DFS/BFS/ μλ£μ μΌλ €λ¨ΉκΈ°
μ νΈλ
2024. 10. 22. 12:14
π λ¬Έμ
π λ΄κ° μκ°ν νμ΄
0μμ μνμ’μ° μ¬κ·ν¨μλ‘ νμνκ³ result 1μ¦κ° μν€κΈ°
π» λ΅μ
def dfs(x,y):
if x <= -1 or x >= n or y <= -1 or y >= m:
return False
if graph[x][y] == 0:
graph[x][y] = 1
dfs(x-1,y)
dfs(x,y-1)
dfs(x+1,y)
dfs(x,y+1)
return True
return False
n,m = map(int, input().split())
graph = []
for i in range(n):
graph.append(list(map(int, input())))
result = 0
for i in range(n):
for j in range(m):
if dfs(i,j) == True:
result += 1
print(result)
π μ°Έκ³ μλ£
https://www.youtube.com/watch?v=7C9RgOcvkvo&t=1620s