s와 g가 같을 수도 있습니다. 그런 경우에도 scost와 gcost에 최단 거리가 정상적으로 저장이 되어야 하는데 위 코드에 의하면 g와 s가 같을 경우 모두 28번 줄의 조건에 걸리게 되어 scost에만 최단 거리가 정상적으로 저장이 되고 gcost는 전혀 갱신되지 않습니다. 그 부분만 수정하면 될 듯 합니다.
9370번 - 미확인 도착지
s와 g가 같을 수도 있습니다. 그런 경우에도 scost와 gcost에 최단 거리가 정상적으로 저장이 되어야 하는데 위 코드에 의하면 g와 s가 같을 경우 모두 28번 줄의 조건에 걸리게 되어 scost에만 최단 거리가 정상적으로 저장이 되고 gcost는 전혀 갱신되지 않습니다. 그 부분만 수정하면 될 듯 합니다.
개인적인 의견으로는 dik 함수에 long long 형 배열도 매개변수로 추가해 scost, gcost, hcost 한꺼번에 처리하는 게 어떨까 합니다.
댓글을 작성하려면 로그인해야 합니다.
uuyzpil 3년 전
각 s ,g ,h 에서 다익스트라 한번 돌리고
목적지 후보 쭉 돌면서 아래 조건으로 출력했는데 테스트케이스는 맞는데 어디서 틀린지를 모르겄네요 ㅠㅠ
후보 리스트 오름차순
if (s[후보지] == s[g] + g[h] + h[후보지] ) 후보 출력
else if (s[후보지] == s[h] + h[g] + h[후보지]) 후보 출력