코테 대비 python/백준

음료수 얼려먹기

ylab 2022. 2. 15. 10:06

출처: 이코테

DFS 문제인데 어렵다.. 

30분지나서 답지 참고함;

언제나 보고나면 쉬운것을.. ㅋㅋ

n,m = map(int,input().split())

graph = []

for i in range(n):
    graph.append(list(map(int,input())))

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
result = 0
for i in range(n):
    for j in range(m):
        if dfs(i,j)==True:
            result +=1

print(result)