얼마 전 나는 불면증에 시달렸다. 천장이 뚫어져라 눈을 뜬 채로 밤을 지새우곤 했다. 그러던 어느 날 친구 광민이에게 불면증 이야기를 했더니 이렇게 답했다. "양이라도 세봐!"
정말 도움이 안 되는 친구라고 생각했다. 그런데 막상 다시 잠을 청하려고 침대에 누우니 나도 모르게 양을 세고 있었다. 그러다 이걸로 프로그램을 하나 짜볼 수 있겠다는 생각이 들어 침대에서 일어나 컴퓨터 앞으로 향했다.
양은 #, 풀은 .으로 나타낸다. 그러면 초원에서 풀을 뜯는 양을 그리드 하나로 그릴 수 있다. 양이 있는 두 칸이 위, 아래, 왼쪽, 오른쪽으로 맞닿아 있으면 두 칸은 같은 무리에 속한다. 대각선으로만 맞닿은 두 칸은 서로 다른 무리다. 이렇게 이어진 # 칸의 덩어리 하나가 양 무리 하나이고, 이웃한 양이 하나도 없는 # 한 칸도 무리 하나로 센다.
그리드를 다 그리고 나니 졸음이 몰려왔지만 무리가 몇 개인지 궁금해서 견딜 수 없었다. 그리드가 주어지면 양 무리의 개수를 구하라.
첫째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫째 줄에는 그리드의 높이 H와 너비 W가 공백을 사이에 두고 주어진다. 이어서 H개의 줄에 걸쳐 길이가 W인 문자열이 한 줄씩 주어진다. 각 문자는 양을 뜻하는 # 또는 풀을 뜻하는 .이다.
각 테스트 케이스마다 그리드에 있는 양 무리의 개수를 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.