-
백준 BOJ(1445) 일요일 아침의 데이트알고리즘 풀이/백준(Boj) 2020. 3. 19. 00:45
문제:
https://www.acmicpc.net/problem/1445
1445번: 일요일 아침의 데이트
첫째 줄에 숲의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 3보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 숲의 지도가 주어진다. 숲의 지도는 S, F, g, . 만으로 이루어져 있다. S는 반드시 모서리에 위치해 있고, F는 모서리에 위치해있지 않다. 그리고 S와 F는 반드시 하나만 주어진다.
www.acmicpc.net
풀이:
우선 주의할점은 '만약 어떤 칸이 비어있는데, 인접한 칸에 쓰레기가 있으면 쓰레기 옆을 지나는 것이다' 이 부분이다.
칸이 비어있는 경우에만 인접한 칸에 쓰레기를 검사해야 한다.
priority queue를 이용해서 { 밟은 쓰레기, 인접 쓰레기 } , { y , x} 를 오름차순 pq로 만들자 그러면 자동으로
pq에서 꺼내는 것은 밟은 쓰레기가 가장 적고 밟은 쓰레기가 동일하다면 인접 쓰레기가 가장 적은 후보이다.
이 후보가 F에 도달했다면 그 즉시 종료한다.
코드 (C ++ )
'알고리즘 풀이 > 백준(Boj)' 카테고리의 다른 글
백준(BOJ) 18808번 스티커 붙이기 (0) 2020.03.28 백준 BOJ(16637번) 괄호 추가하기 (0) 2020.03.21 백준(BOJ) 알고스팟 (0) 2020.03.16 백준(BOJ) 16929번 Two Dots (0) 2020.03.13 백준(BOJ) 16986번 인싸들의 가위바위보 (0) 2020.03.13