인프런 커뮤니티 질문&답변

조현성님의 프로필 이미지
조현성

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-R

2-R visited 안써도 괜찮나요 재 방문이 없나요

작성

·

169

0

단 방향이라 그런가요

답변 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점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


조현성님의 프로필 이미지
조현성

작성한 질문수

질문하기