설명
.(열린 칸)과 #(벽)으로 이루어진 격자가 주어진다. 왼쪽 위 칸에서 시작하여 상하좌우로 인접한 열린 칸으로 이동할 수 있다. 왼쪽 위 칸에서 오른쪽 아래 칸까지 가는 경로에서 지나는 칸의 최소 개수(양 끝 칸 포함)를 출력하시오. 그런 경로가 없으면 -1을 출력한다.
제약
입력 형식
첫째 줄에 \(R\)과 \(C\)가 주어진다 (\(1 \le R, C \le 30\)). 다음 \(R\)개의 줄에는 각각 . 또는 #로 이루어진 길이 \(C\)의 문자열이 주어진다.
출력 형식
지나는 칸의 최소 개수를 출력하고, 도달할 수 없으면 -1을 출력한다.
예제 1
입력
3 3
...
.#.
...
출력
5
예제 2
입력
2 2
.#
#.
출력
-1
예제 3
입력
1 1
.
출력
1
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그