섬의 개수
시간 제한1초메모리 제한128 MB
가로, 세로, 대각선으로 인접한 육지 칸을 하나의 섬으로 볼 때, 여러 격자 지도에서 섬의 개수를 센다.
문제
정사각형 칸으로 이루어진 섬과 바다의 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.
어떤 칸에서 가로, 세로 또는 대각선으로 인접한 칸으로는 걸어서 이동할 수 있다. 즉, 한 칸은 최대 8개의 칸과 이어져 있다.
두 땅 칸이 같은 섬에 속하려면, 한 칸에서 다른 칸까지 땅 칸만 밟아 걸어갈 수 있는 경로가 존재해야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로는 나갈 수 없다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 와 높이 가 주어진다. 와 는 이하의 양의 정수이다.
둘째 줄부터 개의 줄에 걸쳐 지도가 주어지며, 각 줄에는 개의 정수가 공백으로 구분되어 주어진다. 은 땅, 은 바다를 뜻한다.
입력의 마지막 줄에는 이 두 개 주어지며, 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 섬의 개수를 한 줄에 하나씩 출력한다.