티스토리 뷰

Problem Solving

boj 3055 : SLIKAR

1ssrek 2016. 8. 29. 20:20

boj 3055 : SLIKAR(탈출)


https://www.acmicpc.net/problem/3055


물이넘치는것과 비버가 이동하는 것 모두 고려해주어야 해서 풀기 조금 난해하다고 생각되지만, 사실은 2개의 큐로 각각을 따로 처리하면 간단하게 해결할 수 있다.

첫번째 queue는 마지막으로 물이 이동한 위치를 넣어준다. 이를 이용해서 맵을 갱신해준다.

두번째 queue는 마지막 비버가 있을 수 있는 위치를 입력한다. 만약 비버가 동굴을 만나면 그때까지의 count를 출력하면 된다. 이 두번째 queue가 비었다는 것은 비버가 있을 수 있는 곳이 없다는 것이므로 못간다를 출력하면된다.


중요한건 첫번째 큐를 이용하여 물이 이동하는 것을 먼저 해주고, 두번째 큐를 이동하여 비버가 있을 수 있는 위치를 갱신하는 것. 이 순서만 잘 지켜주면 일반적인 길찾기 문제처럼 해결가능하다.


0ms로 ac를 냈는데, 아마 queue 없이 맵만 가지고하여도 ac를 낼 듯 하다.

'Problem Solving' 카테고리의 다른 글

boj 2934 : CVJETICI  (1) 2016.08.29
boj 1333 : 부재중 전화  (2) 2016.08.29
boj 2725 : Visible Lattice Points  (0) 2016.08.26
boj 1124 : 언더프라임  (0) 2016.08.26
boj 10836 : 여왕벌  (0) 2016.08.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함