현수막

M×N 격자에서 1이 적힌 칸이 가로, 세로, 대각선으로 맞닿으면 같은 무리로 보고, 그 무리의 개수를 센다.

쉬움3그래프DFSBFS구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

ANT가 처음으로 알고리즘 대회를 열면서 현수막을 내걸었다.

현수막 사진

지난 학기 영상처리 수업에서 배운 내용을 최대한 써 보고 싶은 혁진이는 이 현수막에 글자가 몇 개 있는지 알아내는 프로그램을 만들려고 한다.

혁진이는 우선 현수막에서 글자인 부분을 1로, 글자가 아닌 부분을 0으로 바꾸는 필터를 적용해 값을 만드는 데 성공했다.

그런데 혁진이는 이 값만 보고, 1인 칸이 상, 하, 좌, 우, 대각선으로 맞닿아 서로 이어져 있으면 그 덩어리 하나를 글자 한 개라고 생각했다. 즉 한 칸의 이웃은 그 칸을 둘러싼 여덟 칸이다.

혁진이가 필터를 적용해 만든 값이 주어질 때, 혁진이의 생각대로 프로그램을 구현하면 글자가 몇 개인지 출력하여라.

입력

첫째 줄에 현수막의 크기 MMNN이 주어진다. (1M,N2501 \le M, N \le 250)

둘째 줄부터 M+1M+1째 줄까지 현수막의 정보가 주어진다. 각 줄에는 한 행에 해당하는 NN개의 값이 공백으로 구분되어 주어지고, 각 값은 0 또는 1이다.

출력

혁진이의 생각대로 센 글자의 개수를 출력하여라.