자유 칸과 벽으로 이루어진 격자에서 2x2 씨앗으로 만들어지는 방을 모두 찾아 각 방의 크기와 직접 연결된 방의 수를 출력한다.
보통6그래프BFS유니온 파인드아직 제출이 없습니다시간 제한0.5초메모리 제한256 MB개미굴 지하 한 층의 평면도는 R행 S열의 격자로 나타낼 수 있다. 격자의 각 칸은 빈칸이거나 벽이다. 한 빈칸에서 위, 아래, 왼쪽, 오른쪽으로 인접한 빈칸으로 한 칸씩 이동해서 다른 빈칸에 도달할 수 있으면 두 빈칸은 연결되어 있다고 한다.
방은 연결된 빈칸의 모임으로, 어느 부분에서나 폭이 2칸 이상이다. 정확히는 다음 조건을 만족하는 빈칸의 집합을 방이라고 한다.
한 칸이 서로 다른 여러 방에 동시에 속할 수도 있다. 예를 들어 다음 개미굴에는 크기가 4인 방이 두 개 있고, 가운데 칸은 두 방 모두에 속한다.
#..
...
..#
한 방의 어떤 칸에서 다른 방의 어떤 칸까지 빈칸을 따라 위, 아래, 왼쪽, 오른쪽으로 이동해서 제3의 방에 속한 칸을 지나지 않고 도달할 수 있으면 두 방은 직접 연결되어 있다고 한다. 물론 두 방이 공유하는 칸이 있으면 두 방은 직접 연결되어 있다. 한 칸이 세 개 이상의 방에 속하는 경우는 없다.
개미굴의 모든 방을 찾아서, 각 방의 크기(방에 속한 칸의 수)와 그 방과 직접 연결된 방의 수를 구하는 프로그램을 작성하시오.
첫째 줄에 개미굴의 행 수와 열 수를 나타내는 자연수 R과 S가 주어진다. (2≤R,S≤100)
다음 R개의 줄에는 개미굴의 한 행을 나타내는 S개의 문자가 주어진다. 빈칸은 .(점), 벽은 #로 나타낸다.
개미굴에는 항상 방이 하나 이상 있다.
개미굴에 있는 방의 수만큼 줄을 출력한다. 각 줄에는 한 방의 크기와 그 방과 직접 연결된 방의 수를 공백으로 구분해서 출력한다.
방은 크기가 큰 것부터 작은 순서로 출력한다. 크기가 같으면 직접 연결된 방이 더 많은 방을 먼저 출력한다.