728x90
from collections import deque
M,N = list(map(int,input().split(" ")))
k = [ ]
def bfs(k,x1,y1,M,N):
dx = [1,1,1,0,-1,-1,-1,0]
dy = [1,0,-1,-1,-1,0,1,1]
k[x1][y1] = 0
queue = deque()
queue.append([x1,y1])
while queue:
x,y = queue.popleft()
for i in range(0,len(dx)):
temp_x = x + dx[i]
temp_y = y + dy[i]
if 0<=temp_x<M and 0<=temp_y<N and k[temp_x][temp_y]==1:
k[temp_x][temp_y] = 0
queue.append([temp_x,temp_y])
for i in range(M):
k.append(list(map(int,input().split(" "))))
answer = 0
for i in range(0,M):
for j in range(0,N):
if k[i][j] == 1:
answer += 1
bfs(k,i,j,M,N)
print(answer)
728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 1141 접두사 (0) | 2023.09.07 |
|---|---|
| [파이썬] 백준 1932 정수 삼각형 (0) | 2023.08.09 |
| [파이썬] 백준 11722 가장 긴 감소하는 부분 수열 (0) | 2023.08.09 |
| [파이썬] 백준 2146 다리 만들기 (0) | 2023.07.31 |
| [파이썬] 백준 11053 RGB 거리 (0) | 2023.07.28 |