whwoals21   4년 전

예제도 출력이 잘되고

혹시모를 예제로

순서대로 안나오고 

2

1 5 

같은걸 넣어도 잘 출력이 되는데

어떤 부분에서 틀렸습니다 일까요?

yehyun   4년 전

입력으로 들어온 임의의 두 노드 a, b가 모두 새로운 노드일 때 (이전에 입력으로 들어 온 적 없을 때)

48-52줄의 코드에 의해 a의 부모 노드가 b가 되는데, 이것은 옳지 않습니다.

예컨대 아래와 같은 입력이 들어오면

둘째 줄에서 3의 부모가 2가 되고,

셋째 줄에서 3의 부모가 다시 1이 되며,

끝까지 2의 부모는 초기화되지 않습니다.

입력을 받으면서 실시간으로 부모 노드를 결정하시기보다는

인접행렬이나 인접리스트를 채운 뒤에 1을 루트로 하는 BFS나 DFS를 해서 각 노드의 부모 노드를 찾는 것이 좋을 것 같습니다.

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