능선과 계곡
시간 제한3초메모리 제한128 MB
n x n 격자에서 같은 높이로 연결된 영역 중 경계 밖 이웃이 모두 더 낮은 것은 산봉우리, 모두 더 높은 것은 계곡으로 세어 그 개수를 구한다.
문제
바이트아사르는 언덕에서 트레킹을 즐긴다. 등산을 하는 동안 그는 주변의 모든 능선과 계곡을 둘러본다. 여행을 계획하고 얼마나 걸릴지 가늠하려면, 방문할 지역에 능선과 계곡이 각각 몇 개나 있는지 알아야 한다. 여러분이 그를 도와주자.
바이트아사르는 다음 탐험 지역의 지도를 건네준다. 지도는 크기의 정사각형이다. 정사각형에 속하는 각 칸 (단, )마다 높이 가 주어진다.
두 칸이 변 또는 꼭짓점을 공유하면 서로 인접한다고 한다. 즉, 칸 는 , , , , , , , 중 지도 안에 있는 칸들과 인접한다.
칸들의 집합 가 다음 조건을 모두 만족하면 능선(각각 계곡)을 이룬다고 한다.
- 에 속한 모든 칸의 높이가 같다.
- 는 연결되어 있다. 즉, 의 어떤 칸에서 출발하더라도 를 벗어나지 않고 인접한 칸으로만 이동하여 의 다른 어떤 칸에도 도달할 수 있다.
- 에 속한 모든 칸 와, 에 인접하면서 에 속하지 않는 모든 칸 에 대하여, 능선이면 가, 계곡이면 가 성립한다.
특히 지도의 모든 칸의 높이가 같다면, 그 칸 전체는 능선인 동시에 계곡을 이룬다.
지도가 나타내는 지형에서 능선의 개수와 계곡의 개수를 구하여라.
입력
첫째 줄에 지도의 크기를 나타내는 정수 ()이 주어진다. 이어지는 개의 줄에는 지도의 각 행이 순서대로 주어진다. 번째 줄 (단, )에는 번째 행에 속한 칸들의 높이 ()이 공백 하나로 구분되어 주어진다.
출력
한 줄에 두 정수를 공백 하나로 구분하여 출력한다. 지도가 나타내는 지형에서 능선의 개수와 계곡의 개수를 차례대로 출력한다.
힌트


위 그림에서 능선은 실선으로, 계곡은 점선으로 표시되어 있다.