본문 바로가기
Algorithm 🧑🏻‍💻/백준(BOJ)

[백준,c++] 11725번 - 트리의 부모 찾기

by dkswnkk 2021. 10. 31.
 

11725번: 트리의 부모 찾기

루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.

www.acmicpc.net

#include <iostream>
#include <vector>
using namespace std;

vector<int>graph[100001];
int visited[100001];
int tracking[100001];

void dfs(int x){
    visited[x]=1;
    for(int i=0; i<graph[x].size(); i++){
        if(!visited[graph[x][i]]){
            visited[graph[x][i]]=1;
            dfs(graph[x][i]);
            tracking[graph[x][i]]=x;

        }
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int N; cin>>N;

    for(int i=0; i<N-1; i++){
        int a,b; cin>>a>>b;
        graph[a].push_back(b);
        graph[b].push_back(a);
    }
    for(int i=1; i<=N; i++){
        dfs(i);
    }
    for(int i=2; i<=N; i++){
        cout<<tracking[i]<<'\n';
    }
}

댓글