ckswofl   2년 전

벨만포드 알고리즘을 통해 음수 사이클이 존재하는지 확인하는 과정에서

테스트케이스에 최단 시간이 -1인 경우가 있는 것 같으니 주의하시기 바랍니다.

즉, 결과 출력을 별도의 함수로 구성하는 경우 Never → Impossible → result 순으로 출력 하실텐데,

1. 벨만 포드 알고리즘을 통해 음수 사이클이 존재하면 result를 -1로 변경

2. 이후, 별도의 출력 함수를 통해 result가 -1인 경우 "Never"를 최종 출력

이러한 형태로 작성하시면 틀리게 되므로 주의하시기 바랍니다.


해결 방법은 result를 출력 할 때 'Never'를 Return하게 만들거나, -inf를 사용하는 방법 등이 있을 것 같습니다.

(저만 틀린 것 같지만ㅠ) 혹시나 알고리즘 자체는 맞게 작성하셨는데, 저와 비슷한 경우로 고생하신 분들을 위해서 작성해봅니다.

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