toothless1818   1년 전

우선 저의 생각은,

1. s -> 각 후보들(candidate)로 가는 비용을 먼저 계산하여 candidate_straight에 저장하고

2. s -> g -> h -> candidate, s -> h -> g -> candidate로 가는 비용들을 각각 candidate_via1, candidate_via2에 저장하여

3. 2번에서 구한 값들 중 INF이 아니면서 1번과 같은 값인 candidate만 answer에 따로 저장한 후

4. answer을 정렬하여 출력 후 초기하하는 과정입니다.

아무리 생각해도 오류를 발견하지 못해서 도움 주신다면 정말 감사하겠습니다.

참고로 priorityQueue는 라이브러리에 있는 게 아니고 제가 직접 만든 건데 코드 길이가 너무 길어져서 main과 dijkstra 부분만 가져왔습니다.

dh0450   1년 전

1

5 4 2

1 2 3

1 2 1

2 3 1

3 4 1

2 5 1

4 5

답: 4

반례가 아닐지?

toothless1818   1년 전

dh0450님 예제 주신 건 감사하지만 4라고 맞게 출력하네요 ㅜㅜ

toothless1818   1년 전

4번 초기화 과정에서 다음 테스트케이스 입력을 위해 그래프(adjacent)도 초기화해야 하는데 이걸 깜박했네요..

혹시 다른 분들도 초기화 잘 하셨는지 한 번씩 확인 바라요!

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