주석에는 시행마다 dist초기화라고 되어있는데, 코드에는 시행마다 dist를 초기화하는 부분이 없는 것 같습니다.
dist[start] = 0 ;만 초기화 할게 아니라,
매시행마다 start를 제외한 dist전체를 INF로 초기화해주거나, dist를 지역변수로 선언하면 될것 같네요.
9370번 - 미확인 도착지
주석에는 시행마다 dist초기화라고 되어있는데, 코드에는 시행마다 dist를 초기화하는 부분이 없는 것 같습니다.
dist[start] = 0 ;만 초기화 할게 아니라,
매시행마다 start를 제외한 dist전체를 INF로 초기화해주거나, dist를 지역변수로 선언하면 될것 같네요.
s->g->h->x OR s->h->g->x 경로의 가중치 합 = s->x 을 출력, 두가지의 예외 처리만 해주면 됩니다
Edge case:
1) s == g or s == h
2) x == g or x == h
1의 경우 s->h->x, s->g->x로 따로 빼어 겹치지 않게 처리하셨다고 쓰셨는데 더 단순한 방법으로는 s에서s로 가는 가중치값을 미리 0으로 초기화,
2의 경우는 g에서 g, h에서 h로 가는 가중치값을 미리 0으로 처리함으로써 해결 할 수 있습니다.
댓글을 작성하려면 로그인해야 합니다.
av3rs1on 2년 전
s->g->h->x OR s->h->g->x 가는 케이스 2개를 구해 s->x로 가는 결과값과 동일하다면 vector에 넣어 출력하는 식으로 구현했습니다.
s==g 인 경우나 s==h인 경우에도 s->h->x, s->g->x로 따로 빼어 겹치지 않게 하였는데 어디서 틀린건지 잘 모르겠습니다