rkdgh98   3년 전

위 코드는 dfs를 사용하여 위상정렬로 건물 지을 순서를 큐에 담아서 차례대로 시간을 구하는 코드입니다

아래 코드는 1번 건물부터 차례대로 root로 놓고, 트리모양으로 각 건물마다 테크트리를 만들어서 아래서부터 차례대로 지으며 올라오는 식으로 구현했습니다.

위 코드는 정답이 떴고, 아래코드는 오답이 떴습니다.

제 생각에는 결국 두 코드 모두 dfs를 통해 정답을 올바르게 구하는 것처럼 보이는데, 왜 위코드는 정답이 뜨고 아래코드는 틀렸습니다가 나오는지 이해가 가지 않습니다.

짐작으로는 아래 코드에서 건물 500개가 테크트리 역순으로 입력이 주어지면 재귀함수를 너무 많이 들어가서 그런건가 싶기도 합니다만 그것이 정확한 이유인지는 확신이 들지 않아서 질문 올려봅니다.

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