msg016   2년 전

임의의 두 지점 사이의 경로가 1 ~ N - 1개 일 때를 모두 구해 더해주는 방식으로 접근했습니다.

만약 N이 4라면,

우선 DP[1]에 기존에 주어진 값을 모두 입력합니다. 0일 때는 INF(987654321)로 치환하였습니다.

이후 2 ~ N - 1까지 순회하면서, 플로이드-워셜 알고리즘같이 경유지를 잡아가며 최저값을 계산합니다.

출발지 경유지 도착지가 중복되는 경우 계산하지 않으며, 갱신될 경우 방문 지점 비트마스킹도 갱신했습니다.

게시판 반례는 다 정상출력되는데, 6%에서 틀렸습니다.

시간초과 메모리초과도 아니고 틀렸습니다라서 진짜 모르겠네요. 도와주시면 감사드리겠습니다.

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