[백준] 1012번 유기농 배추 - PYTHON
https://www.acmicpc.net/problem/1012
T = int(input()) #테스트케이스의 개수
dx = [-1,1,0,0]
dy = [0,0,-1,1]
def BFS(x,y):
queue = [(x,y)]
matrix[x][y] = 0 # 방문처리
while queue:
x,y = queue.pop(0)
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if nx < 0 or nx >= M or ny < 0 or ny >= N:
continue
if matrix[nx][ny] == 1 :
queue.append((nx,ny))
matrix[nx][ny] = 0
# 행렬만들기
for i in range(T):
M, N, K = map(int,input().split())
matrix = [[0]*(N) for _ in range(M)]
cnt = 0
for j in range(K):
x,y = map(int, input().split())
matrix[x][y] = 1
for a in range(M):
for b in range(N):
if matrix[a][b] == 1:
BFS(a,b)
cnt += 1
print(cnt)
>1012_OrganicCabbage.py
1
5 3 6
0 2
1 2
2 2
3 2
4 2
4 0
2
'프로그래밍 > Baekjoon' 카테고리의 다른 글
[백준] 1014번 컨닝 Cheating - PYTHON (0) | 2023.03.08 |
---|---|
[백준] 1013번 Contact - PYTHON (0) | 2023.03.02 |
[백준] 1011번 FlymetotheAlphaCentauri - PYTHON (0) | 2023.02.23 |
[백준] 1010번 다리놓기 - PYTHON (0) | 2023.02.21 |
[백준] 1009번 분산 처리 - PYTHON (0) | 2023.02.17 |