[백준 알고리즘] 1865번: 웜홀 (Java / 자바)
·
알고리즘/백준
음수사이클이 있는지 판단하는 문제이다.어려운 점은 특정 지점에서 시작했을 때 사이클이 존재하는지 판단하는게 아니라전체 그래프에서 음수사이클이 발생하는경우가 있는지 체크해야한다.1) 모든 지점에서 벨만포드 수행- 이렇게도 풀 수 있다고 한다.2) 가상 시작점 만들기- 나는 이렇게 풀었는데,안쓰는 0번에서 단방향으로 모든 vertex에 가중치 0으로 연결해줬다.그리고 나서 벨만포드의 시작점을 0번으로 해서0->1,2,3,4.... ->0 (사이클발생) -> 1,2,3,4... (갱신 과정에서 사이클 탐지)이런 방식으로 벨만포드를 한번만 수행하고 풀 수 있었다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamR..