단풍나무
우측 버튼을 눌러 기기를 연결해주세요.
문제 정보
단풍나무
보통
유형
프로그래밍
배점
100
참여자
269
정답률
88.1%
8
1

문제


가을이 되면서, 단풍나무가 물들기 시작하려고 한다. 구름공원에서는 크기가 인 땅에 단풍나무를 많이 심어두었다.

구름공원은 땅을 효율적으로 관리하기 위해, 땅을  크기의 작은 구역 단위로 나눈 뒤 해당 구역에 심어진 나무들을 묶어서 관리하고 있다. 공원의 위쪽에서 번째, 왼쪽에서 번째에 위치한 구역의 이름은 이다.

현재 구름 공원의  구역에는  그루의 물들지 않은 단풍나무가 있다. 단풍나무는 아래 규칙에 따라 물들어간다.

  • 의 값이 이면, 해당 구역의 모든 단풍나무가 물들었음을 의미한다.
  • 는 매일 밤마다 상하좌우로 인접한 구역 중 그날 아침 기준으로 단풍나무가 모두 물들어 있는 구역의 수만큼 줄어든다. 만약 그러한 구역의 수가 보다 크다면, 의 값은 이 된다.

구름공원에는 모든 단풍나무가 물들어 있는 구역이 최소 한 곳 이상은 존재한다고 할 때, 며칠 후에 모든 단풍나무가 물들지 출력하시오.


예제 설명


첫 번째 예제에서 구름공원의 상태는 아래 그림과 같다.

첫째 날에는 규칙에 따라 아래와 같은 칸들이 물들게 된다.

  • 의 값은 1이고, 상하좌우에 단풍나무가 모두 물든 구역은 두 곳이다. 그래서 단풍나무는 두 그루까지 물들 수 있지만, 남아있는 단풍나무가 한 그루이기 때문에 한 그루만 물들고, 의 값은 0이 된다.
  • 의 값은 2이고, 인접한 구역 중 단풍나무가 모두 물든 구역은 두 곳이다. 단풍나무는 두 그루가 물들 수 있고, 의 값은 0이 된다.
  •  의 값은 2이고, 인접한 구역 중 단풍나무가 모두 물든 구역은 두 구역 모두 한 곳이다. 그래서 두 구역 모두 한 그루의 단풍나무가 물들고, 과 의 값은 모두 1이 된다.


이후 둘째 날과 셋째 날이 지나고 나면 공원의 상태는 아래와 같이 변한다. 3일이 지난 뒤에 모든 단풍나무가 물들었음으로 3을 출력해야 한다.



입력


첫째 줄에 공원의 크기를 나타내는 이 주어진다.
다음 개의 줄에는 매 줄마다 이 공백을 두고 주어진다.

  • 단풍나무가 모두 물든 구역이 하나 이상 존재한다.
  • 입력에서 주어지는 모든 수는 정수이다.


출력


구름공원의 모든 단풍나무가 물드는데 며칠이 걸리는지 출력하시오.

입/출력 예시
:
공백
:
줄 바꿈
:
예시 1
입력
3
001
220
220
출력
3
⋇ 입출력 형식을 잘 지켜주세요
Q&A
누구나 질문하고 답변할 수 있는 Q&A입니다. 문제를 풀며 어려웠던 부분에 대해 질문해보세요.
이 문제에 관한 질문 (0)