1865번 - 웜홀
밸만포드 알고리즘을 이용했습니다.
음의 사이클 존재 또는 출발노드의 값이 음수가 되었을경우 Yes를 출력하게 했습니다.
어떻게된건지 계속 오답이 나오더군요...
어떤 반례가 있는지, 어느부분에서 실수를 한것인지 모르겠습니다. 도와주실수 있을까요?
위 코드로는 음수사이클의 존재를 알 수 없습니다.
if(dist[next]>dist[j]+d)
{
dist[next]=dist[j]+d;
if(i==a) cycle=true; //마지막 루프에 값이 갱신된다면 음의 사이클이 존재한다고 판단.
}
입력을 받을때 단방향으로 노드를 연결하니 틀렸습니다가 나왔었네요..
v[s].push_back({e, t});뒤에
v[e].push_back({s, t});를 추가해 양방향으로 만들어주니 맞았습니다가 나왔습니다.
댓글을 작성하려면 로그인해야 합니다.
leejh3907 3년 전
밸만포드 알고리즘을 이용했습니다.
음의 사이클 존재 또는 출발노드의 값이 음수가 되었을경우 Yes를 출력하게 했습니다.
어떻게된건지 계속 오답이 나오더군요...
어떤 반례가 있는지, 어느부분에서 실수를 한것인지 모르겠습니다. 도와주실수 있을까요?