문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

6110 : 미로 최단 경로 출력

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

6110 : 미로 최단 경로 출력

시간 1.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

N×M 크기의 미로에서 시작점 (r1, c1)에서 도착점 (r2, c2)까지 갈 수 있는 최단 경로의 구체적인 경로 리스트를 출력하는 프로그램을 작성하십시오.
최단 경로가 여러 개일 경우, 상하좌우(U, D, L, R) 순서대로 탐색을 시도하는 표준 BFS 알고리즘에 기반해 경로를 찾으십시오.

입력 설명

첫째 줄에 행 크기 N과 열 크기 M (1 ≤ N, M ≤ 100)이 주어집니다.
둘째 줄부터 N개의 줄에 격자의 정보가 공백 구분되어 주어집니다. (0은 이동 가능, 1은 벽)
마지막 줄에는 시작 좌표 r1, c1과 도착 좌표 r2, c2가 공백으로 구분되어 주어집니다. (0-indexed)

출력 설명

최단 경로 상에 있는 정점의 좌표 목록을 시작점부터 도착점까지 공백으로 구분하여 r,c 형태로 순서대로 출력합니다. (경로가 없으면 -1을 출력합니다.)

입력 예시
COPY
복사되었습니다!

3 3
0 1 0
0 0 0
0 1 0
0 0 2 2

출력 예시
COPY
복사되었습니다!

0,0 1,0 1,1 1,2 2,2

도움

BFS 탐색을 수행할 때 parent[next] = current 와 같이 각 노드의 직전 방문 위치를 기록해두고, 도착점에 도달했을 때 parent 포인터를 역추적하여 시작점까지의 경로를 완성한 뒤 역순으로 출력하십시오.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘