as00098   2년 전

안녕하세요 벨만 포드 알고리즘을 공부하던 중 해당 문제를 풀어봤습니다.

시작점이 어디든 상관없이 음인 사이클만 존재하면 YES, 존재하지 않으면 NO 인 코드를 작성해봤습니다.

똑같은 출발점과 도착점을 가지는 도로가 여러개 있다고 했지만, 거리가 가장 최소인 도로만 존재하면 된다고 생각해 인접 그래프를 활용, 

거리가 최소인 도로가 들어올때마다 인접 그래프를 갱신하게 입력 받았습니다.

그 이후 N-1번 인접 그래프의 모든 간선 중 INF가 아닌 간선을 검사해 dp 배열을 갱신하게 하고, N번째 갱신 때 업데이트가 되면 사이클이 존재하는 것으로 판단해 true를 반환하

게 작성했습니다. 테스트 케이스와 게시판 반례는 모두 다 맞는데 도대체 어디서 틀렸는지 감을 못 잡겠네요. 도움 주시면 감사하겠습니다.


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