백준
[백준] 1012번 유기농 배추 [Python]
YoonJuHan
2023. 7. 31. 18:04
- 문제 : https://www.acmicpc.net/problem/1012
- BFS
t = int(input())
def bfs(k, l):
global answer
answer += 1
zx, zy = [0, 0, 1, -1], [1, -1, 0, 0]
Q = [[k, l]]
ddang[k][l] = 0
while Q:
x, y = Q.pop(0)
for i in range(4):
nx, ny = x + zx[i], y + zy[i]
if 0 <= nx < m and 0 <= ny < n and ddang[nx][ny] == 1:
ddang[nx][ny] = 0
Q.append([nx, ny])
for i in range(t):
answer = 0
n, m, k = map(int, input().split()) # 가로, 세로, 배추 개수
ddang = [[0] * n for _ in range(m)]
for j in range(k):
x, y = map(int, input().split())
ddang[y][x] = 1
for k in range(len(ddang)):
for l in range(len(ddang[0])):
if ddang[k][l] == 1:
bfs(k, l)
print(answer)