답변 1
0
안녕하세요 현성님 ㅎㅎ
이 문제를 보시면 트리라는게 명시되어있기 때문에 root노드부터 탐색한다면 굳이 양방향을 걸지 않아도 단방향으로 모든 정점을 모두 탐색이 가능합니다.
코드를 보시면요.
for(int i = 0; i < n; i++){
cin >> temp;
if(temp == -1)root = i;
else adj[temp].push_back(i);
}
앞의 코드처럼 단방향 간선만 해놓은 것을 볼 수 있습니다.
visited는 양방향간선이 있을 경우.
즉, 해당 정점을 "다시 방문할 가능성이 있는 경우 다시 방문하지 않도록" 하기 위해서 쓰입니다.
그렇기 때문에 이 문제에서는 안써도 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.