벨만-포드를 읽고 다익스트라 코딩 패턴을 이용해 풀어보려고 했습니다.

노드 별로 갱신 횟수를 저장하고 갱신 횟수가 N(노드 수) - 1 보다 크면 싸이클을 감지하고 종료하는 방법입니다.

그런데 43%에서 틀렸다고 나오네요.

'출력 초과'가 아닌 '틀렸습니다'가 출력되는 바 싸이클이 없는데 싸이클이 있다고, 즉 k 개의 답을 출력해야 하는데 -1을 출력하고 있는것 아닌가 하는 생각이 듭니다.

논리적으로 잘못된 부분을 못찾겠어서 흥미롭습니다.

반례를 제시해주시거나 틀린 부분을 지적해주시면 감사하겠습니다.

sylee0802   2년 전

저도 벨만 포드 알고리즘을 모르는 상태에서 다익스트라로 풀기 위해 이와 유사한 코드를 작성했습니다.

혹시 왜 다익스트라로 풀면 오류가 나는지 원인을 알게 되셨습니까?

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