알고리즘

백준 1012번 : 유기농 배추(python)

jenyy 2021. 1. 5. 21:12

 

https://www.acmicpc.net/problem/1012

 

1012번: 유기농 배추

차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 

www.acmicpc.net

t = int(input())
dx = [-1,1,0,0]
dy = [0,0,-1,1]
def dfs(x,y):
    q = [(x,y)]
    while q:
        x,y = q.pop()
        for i in range(4):
            nx,ny = x+dx[i],y+dy[i]
            if 0<=nx<n and 0<=ny<m and data[nx][ny]==1:
                data[nx][ny] = 0
                q.append((nx,ny))

for _ in range(t):
    m,n,k = map(int,input().split())
    data = [[0]*m for _ in range(n)]
    for _ in range(k):
        a,b = map(int,input().split())
        data[b][a] = 1
    cnt = 0
    for x in range(n):
        for y in range(m):
            if data[x][y] == 1:
                cnt += 1
                dfs(x,y)
    print(cnt)