dydsj0920   6년 전

임계경로 문제를 풀기 위하여 기본적으로 outdegree 벡터와 와 indegree 배열을 써서 첫번째 답(모든 사람이 만나는데 걸리는 시간)을 구했구요.
2번째 답을 구하기 위하여 from 벡터(사실상 indegree정보를 저장한 벡터)를 통해 도착점->시작점으로 이동하면서 find 함수를 통해 26번줄 처럼 두 간선사이의 weight가 d[now]-d[next]의 값과 같다면 그 길로만 탐색하면서 도로의 개수를 ++ 해주었습니다.

어디서 틀린걸까요?

ndb796   6년 전

결과 구하신 이후에 경로 역추적 하실 때는 한 번 추적이 된 경우는 다시는 추적하지 않도록 해야 합니다.

한 번 추적된 정점에 대해서는 c[정점] = 1; 과 같이 처리하신 뒤에 큐에 담아주세요.

이후에 if(c[정점] = 0) 일 때만 그 정점으로 출발한 정점에 대해서 weight가 d[now]-d[next]와 같은 지 검사하세요. (큐에 담아서)

sorrly   6년 전

해결되셨나요>???

ndb796 님이 말씀해주신대로 했는데..

안되요..ㅠㅠ

dydsj0920   6년 전

오 예전에 썼던 글인데 해결된걸 깜빡하고 있었네요. 네 ndb796님께서 말씀하신 것처럼 find 함수 안에서 check를 해주고 큐에 Push 해주어야 합니다.

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