#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';
}
}
'Algorithm 🧑🏻💻 > 백준(BOJ)' 카테고리의 다른 글
[백준,c++] 11780번 - 플로이드2 (0) | 2021.10.31 |
---|---|
[백준,c++] 11779번 - 최소비용 구하기2 (0) | 2021.10.31 |
[백준,c++] 11728번 - 배열합치기 (0) | 2021.10.31 |
[백준,c++] 11724번 - 연결 요소의 개수 (0) | 2021.10.31 |
[백준,c++] 11722번 - 가장 긴 감소하는 부분 수열 (0) | 2021.10.31 |
[백준,c++] 11721번 - 열 개씩 끊어 출력하기 (0) | 2021.10.31 |
댓글