티스토리 뷰

PS

백준 5427. 불

tose33 2022. 8. 3. 14:58

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

 

5427번: 불

상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에

www.acmicpc.net

 

평범한 bfs를 이용하는 문제인데, 다음 조건을 잘 생각해야 한다. 

불이 옮겨진 칸 또는 이제 불이 붙으려는 칸으로 이동할 수 없다. 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다.

 

위 조건에 의해 불이 먼저 이동하고 상근이가 이동한다는 것을 알 수 있다.

또한 불이 언제 퍼지게하는지를 생각해야 하는데, 상근이의 최대 이동 거리를 기억해 놨다가 큐에서 상근이의 위치를 pop해서 빼냈을때 현재까지 이동 거리가, 최대 이동 거리와 다르다면 (크다면) 새로운 깊이의 이동들이 시작되는 것이므로 불을 퍼지게 하면 된다.

 

 

'PS' 카테고리의 다른 글

백준 17471. 게리맨더링  (0) 2022.08.08
백준 2056. 작업  (0) 2022.08.03
백준 11657. 타임머신  (0) 2022.08.03
백준 5582. 공통 부분 문자열  (0) 2022.08.02
백준 1600. 말이 되고픈 원숭이  (0) 2022.08.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
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
글 보관함