# import sys
# input = sys.stdin.readline
# sys.setrecursionlimit(10**4)
# # def bfs(x,y):
# # queue =[[x,y]]
# # while queue:
# # a,b = queue[0][0],queue[0][1]
# # del queue[0]
# # for i in range(4):
# # cx = a+dx[i]
# # cy = b+dy[i]
# # if 0<=cx<n and 0<=cy<m and graph[cx][cy]==1:
# # graph[cx][cy]=0
# # queue.append([cx,cy])
# def dfs(x,y):
# graph[x][y]=0
# for i in range(4):
# cx = x+dx[i]
# cy = y+dy[i]
# if 0<=cx<n and 0<=cy<m and graph[cx][cy]==1: #방문안한 곳
# dfs(cx,cy)
# test = int(input()) # computer
# #방향벡터
# dx = [1,-1,0,0]
# dy = [0,0,-1,1]
# for _ in range(test):
# # n:세로 m:가로
# m,n,k= map(int,input().split())
# graph = [[0]*m for _ in range(n)]
# cnt=0 #지렁지렁
# #배추
# for i in range(k):
# a,b = map(int,input().split())
# graph[b][a]=1
# for j in range(n):
# for k in range(m):
# if graph[j][k]==1:
# dfs(j,k)
# cnt+=1
# print(cnt)
DFS 또는 BFS를 이용하면 되는 문제이다.
DFS로 해결 후 BFS로 작성된 코드를 보았다.
이 문제의 접근법은 우선 행렬을 만든 후 하나씩 돌면서 1을 0으로 바꿔 주면 되는 것이다.
그렇게 한 무리가 0 이되면 다음 무리도 DFS를 통해서 0으로 만들어주면된다.
이렇게 2차원 배열을 쭈우우욱 돌면 되는 문제이다.