728x90
- N x M 얼음 틀
- 구멍 0, 칸막이 1
- 생성되는 아이스크림 개수
1) 상하좌우 살펴본 뒤 '0' 이면서 아직 방문하지 않은 지점이면 방문
2) 방문한 지점에서 상하좌우 살펴보면서 방문 진행 과정 반복 => 연결된 모든 지점 방문
3) 1, 2 반복하여 방문하지 않는 지점의 수 카운트
# N x M 얼음 틀
n, m = map(int, input().split())
# 얼음 틀의 형태
graph = []
for i in range(n):
graph.append(list(map(int, input())))
# DFS
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)
어렵군..
반응형
'전.py' 카테고리의 다른 글
[python] 백준 1448 삼각형 만들기 (0) | 2022.02.23 |
---|---|
[python] 미로 탈출 (0) | 2022.02.18 |
[python] DFS & BFS (0) | 2022.02.18 |
[python] 유클리드 호제법 (재귀 함수) (0) | 2022.02.18 |
[python] 팩토리얼 (재귀 함수) (0) | 2022.02.18 |