간선에 방향이 있으므로 연결 그래프라고 하는 것은 의미가 없고, 데이터를 추가하는 것이 좋겠습니다.
1865번 - 웜홀
edge들 탐색할때 inf인경우도 다 탐색해버리면, 시작노드와 연결되어있진 않지만 음의 사이클이 존재하면 update되니까 가능하지 않나요??
배열 초기화할 때 inf가 아닌 sys.maxsize (혹은 큰 숫자)로 하면 처음 비교할 때 if 문에서 통과되므로 O(NM)으로 가능하네요.
다만 이 경우 시작점에서 분리된 그래프의 음수 싸이클을 찾을 수 있는 장점이 있지만 시작점에서 최단거리를 찾을 수 있는 기능이 사라진다고 볼 수 있겠네요.
댓글을 작성하려면 로그인해야 합니다.
lucian0910 4년 전 7
처음에 문제를 잘못 이해해서 무조건 1번 도시를 출발점이라고 생각하고 아래와 같이 문제를 풀어서 성공이 떴습니다. 그런데 생각해보니 이 그래프가 연결 그래프라는 언급이 전혀 없으므로 컴포넌트가 여러개 이상일 수도 있는데, 그렇게 되면
1
5 1 3
1 2 3
3 4 1
4 5 1
5 3 1
위 케이스를 넣을 시 원래대로라면 3-4-5번 도시가 음수 사이클이므로 YES가 떠야 하는데 아래 코드에서는 1-2번 도시는 음수 사이클이 아니므로 NO가 뜹니다. 이 부분에 대해서 연결그래프라고 확실히 언급하거나 케이스를 추가해야 될 것으로 보입니다.