저는 택시와 손님간의 거리가 가장 작은 값을 구하기 위해, 

BFS를 이용하여, 모든 손님과 택시 간의 거리 중 가장 작은 값을 선택하는 방법으로 구현하였습니다.(작은 값이 여러개이면, 문제에서 언급한대로 구현했습니다.)

그리고 다시, 목적지까지 도착한 손님을 제외한 나머지 손님들에 대해, 위의 과정을 반복하는데, 이거 말고 좀 더 효율적으로 찾는 방법이 있을까요??

소스코드 첨부합니다.

제가 질문드린 내용과 관련있는 부분은 find_guest()함수이고 주석으로 실행코드라고 적힌 부분에 해당 함수가 호출됩니다.

감사합니다.

손님을 찾을 때(find_guest) BFS 1번이면 되는 것을 m번을 돌려서 비효율적인 알고리즘이 됐었네요. 자문자답이긴 하지만 해결했습니다.

댓글을 작성하려면 로그인해야 합니다.