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

+ Recent posts