문제 링크
알고리즘
- 자료구조
- 다익스트라
- 우선순위 큐
- 그래프
비슷한 문제
- 수영장 만들기 백준1113
- 수영장 사장님 백준15730
- Rain (Small) 백준14324
- Rain (Large) 백준14325
- Water 백준8068
- Swimming pool 백준7161
풀이
물통(막대) 상태가 주어졌을 때, 물을 부어서 얼마만큼의 물이 고이는지 계산하는 문제다.
물이 고이려면 고이는 부분의 물통 높이가 주위 물통 높이보다 낮아야 한다.
-
각 칸의 높이가 주어지면, 테두리 부분을 우선순위 큐에 집어넣는다.
-
우선순위 큐 요소를 하나씩 확인할텐데, 만약에 테두리 안쪽 물통이 테두리 물통보다 높이가 더 높다면 안쪽 물통이 테두리 역할을 대신한다. 즉, 우선순위 큐에 새로 집어넣는다.
높이가 낮은 것부터 확인하기 위해서 우선순위 큐를 쓰는 것.
전체 코드
1 |
|