2589번 - 보물섬
사정상 라이브러리를 사용할 수 없어 구조체배열을 이용하여 bfs를 구현하여 문제를 풀었습니다.
나름 최적화를 했다고 생각하는데 어느부분에서 시간을 많이 사용하는 지 알 수 없어 질문드립니다 ㅠㅠ
어떤 부분을 고치면 시간 안에 문제를 해결할 수 있을까요??
데이터를 num 쪽에 넣고 num 쪽에서 빼고 있는 것으로 보아 BFS가 아니라 DFS처럼 구현하신 것 같습니다. BFS가 되려면 밑바닥을 가리키는 변수가 하나 더 필요하고, 큐에서 제거할 때는 밑바닥에서 빼내야 합니다.
DFS처럼 구현했을 시의 문제는 기존에 방문한 점까지 도달하기 위해 처음에 이용한 경로보다 나중에 다른 경로를 통해 갔을 때의 거리가 더 짧을 수 있다는 것이고, 그러면 중복 방문이 발생하게 됩니다.
댓글을 작성하려면 로그인해야 합니다.
mju6229 5년 전
사정상 라이브러리를 사용할 수 없어 구조체배열을 이용하여 bfs를 구현하여 문제를 풀었습니다.
나름 최적화를 했다고 생각하는데 어느부분에서 시간을 많이 사용하는 지 알 수 없어 질문드립니다 ㅠㅠ
어떤 부분을 고치면 시간 안에 문제를 해결할 수 있을까요??