Aqualin
면접 대비시간 제한1초메모리 제한1024 MB
n×n 격자의 각 칸에 동물의 종류와 색이 주어질 때, 같은 종류와 같은 색으로 이어진 가장 큰 덩어리의 점수를 각각 구합니다.
문제
보드 게임 Aqualin은 격자판에서 진행된다. 각 칸에는 말이 하나씩 놓인다. 말은 동물이며, 동물 종류와 색깔이라는 두 속성을 가진다. 종류는 'A'부터 'Z'까지의 문자이고, 색깔은 1부터 까지의 번호이다.
격자판의 칸이 모두 채워지면 점수를 계산한다. 두 팀이 점수를 얻는다.
첫 번째 팀은 같은 종류의 동물로 이루어진 가장 큰 연결 요소에 점수를 얻는다. 크기가 2 이상인 연결 요소만 대상이다. 크기가 인 연결 요소는 점을 얻는다. 크기가 1인 연결 요소는 점수가 없다. 같은 종류의 연결 요소가 여러 개면 그중 가장 큰 것만 점수를 얻는다. 두 동물은 상하좌우로 맞닿아 있고 종류가 같을 때 연결되며, 이런 동물을 따라 간접적으로 이어져도 연결된다.
두 번째 팀은 종류 대신 색깔을 기준으로 같은 방식으로 점수를 얻는다.
같은 종류와 색깔의 조합이 여러 번 나올 수도 있고, 전혀 나오지 않을 수도 있다.
입력
첫 줄에 격자판의 행과 열의 수 ()이 주어진다. 이어지는 개의 줄에는 격자판의 각 행이 주어진다. 한 행은 개의 항목으로 이루어지고, 각 항목은 동물 종류 ('A' 'Z')와 색깔 ()를 나타낸다. 항목은 첫 번째 열부터 시작하며, 값 사이는 공백 한 칸으로 구분한다.
출력
첫 번째 팀의 점수, 공백 한 칸, 두 번째 팀의 점수를 한 줄에 출력한다.