3055번 - 탈출
[문제]
https://www.acmicpc.net/problem/3055
3055번: 탈출
사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제
www.acmicpc.net
[문제 풀이]
D | . | * |
. | . | . |
. | S | . |
D | * | * |
. | S | * |
S | S | S |
D | * | * |
S | S | * |
S | S | S |
위 표는 고슴도치가 비버의 굴을 찾아가는 과정이다.
1분에 빈칸(.)으로 한 칸씩 이동이 가능하며, 물(*)도 1분에 한 칸씩 채워진다.
물이 채워진 곳과 고슴도치의 위치를 나타내기 위해 2개의 Queue(water - 물, queue - 고슴도치)를 사용하였다.
(경로를 구하는 문제이기 때문에 dx, dy 배열을 사용하여 상하좌우로 이동할 수 있도록 구현하였다.)
고슴도치는 물이 찰 예정인 칸으로 이동하지 못하기 때문에 water 큐를 사용하여 물이 채워질 칸을 먼저 구하였다.
그다음 고슴도치가 이동할 수 있는 칸을 구하였다. 고슴도치가 이동했을 때 해당 칸이 비버의 굴(D)이면 탐색을 멈춘다.
[주요 코드]
[전체 코드]
2023.06.21
'Baekjoon' 카테고리의 다른 글
[백준] 1182번 - 부분수열의 합 (0) | 2023.04.07 |
---|---|
[백준] 1107번 - 리모컨 (0) | 2023.04.06 |
[백준] 2178번, 2667번 (0) | 2023.02.12 |
[백준] 1644번 - 소수의 연속합 (0) | 2023.02.05 |
[백준] 1456번 - 거의 소수 (0) | 2023.02.04 |