본문 바로가기
algorithm

[BOJ13460] 구슬 탈출 2

by 보노보노야~ 2019. 3. 21.

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


남들은 다 BFS로 풀었는데 나혼자 삽질하면서 DFS로 풀었다. 덕분에 메모리도 메모리대로, 시간복잡도도 시간복잡도대로 잡아먹었지만 풀긴 풀었으니ㅠㅠㅠㅠㅠㅠㅠㅠ 익숙해지면 더 빨리 풀 수 있을 거라 믿는다(제발...ㅠ)

다음에 시간이 되면 BFS로도 짜봐야겠다


map이라는 객체를 생성한 다음 구슬을 한 칸 한 칸 굴려가면서 골인 지점에 도달했는지 확인하도록 코드를 작성했고 O  R   B 순서대로 있는 경우 성공, O  B  R 순서대로 있는 경우 실패라는 걸 염두에 두고 코드를 작성해야 한다! 이걸 모르고 그냥 둘 다 같은 행동 내에 떨어지면 실패라고 생각해서 초반에 삽질을 엄청 했다


개인적으로 이 문제에서 주의해야 할 건 각 timestep(탐색공간?) 마다 두 개의 구슬이 동시에 움직인다는 점. 나는 어차피 한 칸씩 굴렸기 때문에 구슬이 서로에 막혀서 통행이 불가능해진 경우를 if문으로 분기해서 짰지만 질문 란에 보면 다양하게 해결하는 방법이 많은 것 같다

제일 간단한건 각각 굴린 다음에 겹치는 경우에 따로 처리를 해 주는 것인 듯...?



'algorithm' 카테고리의 다른 글

[BOJ 16236] 아기 상어  (0) 2019.04.09
[BOJ14889] 스타트와 링크  (0) 2019.03.28
[BOJ 15686] 드래곤커브  (0) 2019.03.27
[BOJ 14502] 연구소  (0) 2019.03.24
[BOJ14890] 경사로  (0) 2019.03.23

댓글