미로 탈출
의견: 0
탐험가 아라가 \(R \times C\) 크기의 미로 안에 갇혔다. 미로의 각 칸은 이동 가능한 통로(\(.\))이거나 통과할 수 없는 벽(\(\#\))이다.
아라는 \((1, 1)\)번 칸(왼쪽 위)에서 출발해 \((R, C)\)번 칸(오른쪽 아래)으로 빠져나가야 한다. 한 번에 상하좌우 인접한 칸으로 한 칸씩 이동할 수 있으며, 벽 칸으로는 이동할 수 없다. 시작 칸과 도착 칸은 모두 통로임이 보장된다.
탈출에 필요한 최소 이동 횟수를 구하여라. 탈출이 불가능하면 \(-1\)을 출력한다.
- \(1 \le R, C \le 500\)
- 격자는 \(.\)과 \(\#\)만으로 구성된다.
- \((1, 1)\)과 \((R, C)\)는 항상 통로(\(.\))이다.
첫째 줄에 미로의 행 수 \(R\)과 열 수 \(C\)가 공백으로 구분되어 주어진다.
다음 \(R\)개의 줄에 미로의 각 행이 주어진다. 각 행은 \(C\)개의 문자로 이루어지며 \(.\)또는 \(\#\)이다.
최소 이동 횟수를 출력한다. 탈출이 불가능하면 \(-1\)을 출력한다.
5 5
.....
.###.
.#...
...#.
.....
8
시작점 \((1,1)\)에서 도착점 \((5,5)\)까지의 최단 경로 길이는 \(8\)이다. \(\#\)는 벽이고 \(.\)는 이동 가능한 칸이다.
2 2
.#
#.
-1
\((1,1)\)과 \((2,2)\)가 벽으로 막혀 있어 어떤 경로도 없으므로 \(-1\)을 출력한다.
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
riseoj 작성
출처 Original
평가 및 의견
미로 탈출
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
미로 탈출