BOJ_1194_G1_달이차오른다가자

Chung Lee·2022년 5월 12일
0

알고리즘

목록 보기
20/21

문제 링크 : https://www.acmicpc.net/problem/1194

문제 접근 :
1. 문제 최대 크기는 50 * 50
2. 4방탐색 가능
3. 열쇠 없이 문에 도달했을 때, 열쇠를 먹고 문에 도달했을 때의 처리 필요 => 열쇠를 먹기 전과 열쇠를 먹은 후의 상태를 다르게 인식

결론 == 열쇠의 습득 상태를 기준으로 BFS 탐색

각 4방 탐색으로 퍼져나갈 때 이전 방문지의 기준을 먹은 열쇠의 종류에 따라 구분.

같은 상태의 열쇠 set이라면 이미 더 짧은 값이 들어가 있을 경우 재방문하지 않음.


ex)

  1. 시작점에서 왼쪽, 오른쪽 진행 가능
  2. 오른쪽으로 한칸 이동한 경우 더 이상 이동할 수 없음
  3. 왼쪽으로 한칸 이동한 경우 열쇠를 먹었기 때문에 이전과는 다른 상태가 됨.
  4. 0,1 칸은 키가 없을 때는 방문한 칸이지만 f키를 먹은 상태로는 방문한 적 없기 때문에 진행 가능.
  5. 이러한 키 습득 상태를 기반으로 BFS 탐색.

0개의 댓글