의도된 시간복잡도
🔒
시간 제한
1.000 S
메모리 제한
512 MB
제출 수
6
정답 수
3
정답률
40.000%
문제 설명

당신은 $N \times M$ 크기의 $2$차원 공간 상에 $(1, 1)$에 위치해 있고, $(N, M)$으로 이동해야 한다. $(1, 1)$이 맨 왼쪽 위, $(N, M)$이 맨 오른쪽 아래가 되며 상하좌우로 인접한 지점으로만 이동이 가능하다.

지점 $(i, j)$를 자유롭게 드나들기 위해서는, $T_{ij}$ 보다 수치가 같거나 큰 통행권을 들고 있어야 한다. $(1, 1)$에서 처음 이동을 시작하기 전 적당한 수치의 통행권 하나를 구매할 수 있다. 통행권은 무한히 사용할 수 있지만, $(1, 1)$에서 처음 이동을 시작하면 더 이상 새 통행권을 구매할 수 없다.

예를 들어 공간의 크기가 $3 \times 4$이고 지점 별 $T$가 다음과 같다고 해보자.

여기서 당신이 수치가 $3$인 통행권을 소지한 채 이동을 시작한다면, 이동 가능한 지점은 다음과 같다.

만약 $3$보다 수치가 낮은 통행권을 가지고 시작했다면, $(1, 1)$에서 $(3, 4)$에 도달할 수 있는 경로가 없었을 것이다.

$2$차원 공간의 크기와 지점 별 $T$가 주어졌을 때, $(1, 1)$에서 $(N, M)$에 도달 가능하게 하기 위해 구매해야 할 통행권 수치의 최솟값을 구하는 프로그램을 작성해 보자.

입력 설명

첫째 줄에 $2$차원 공간의 세로 길이 $N$과 가로 길이 $M$이 공백으로 구분되어 주어진다. $(1 ≤ N, M ≤ 100)$

둘째 줄부터 $N$개의 줄에 걸쳐 $1, 2, ... , N$번 행의 지점 별 $T$가 공백으로 구분되어 주어진다. $(0 ≤ T_{ij} ≤ 100)$

출력 설명
첫째 줄에 $(1, 1)$에서 $(N, M)$에 도달 가능하게 하기 위해 구매해야 할 통행권 수치의 최솟값을 출력한다.
예시 1
입력
3 4
0 2 5 4
3 4 2 1
3 2 1 0
출력
3
힌트 - 아이템
🔒 힌트 아이템을 사용하여 해금 하실 수 있습니다.
기여
만든 사람 : pill27211