반응형
Notice
Recent Posts
Recent Comments
Link
뜌릅
트리의 부모 찾기 백준 - 11725번 본문
반응형
DFS문제 입니다.
처음에는 순서대로 입력받는 줄 알고, 풀었다가 틀린뒤, DFS()을 이용하여 풀었습니다.
입력을 받을 때, 뭐가 부모이고, 자식노드 인지 정해주지 않기 때문에, 입력을 모두 받은 다음에, 1(root node)부터 자식노드 순으로 내려오면서, 부모-자식관계를 연결하고자 했습니다.
#import<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define fast_io ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define rep(i, j) for(int i=0;i<j;i++)
#define mrep(i,j,k) for(int i = j; i<=k;i++)
#define pb push_back
vector<int> arr[100001];
bool visited[100001];
int parent[100001];
void Parent(int i){//dfs
visited[i] = true;
int size = arr[i].size();
rep(j,size){
if(!visited[arr[i][j]]){
parent[arr[i][j]] = i;
Parent(arr[i][j]);
}
}
}
int main(){
fast_io;
int n;
cin>>n;
int x,y;
rep(i,n-1){
cin>>x>>y;
arr[x].pb(y);
arr[y].pb(x);
}//양방향으로 연결.
Parent(1);
mrep(i,2,n){
cout<<parent[i]<<endl;
}
}
반응형
'알고리즘 > PS 문제' 카테고리의 다른 글
파티 1238번 [백준] (0) | 2021.05.02 |
---|---|
Stickers 백준 - 9465번 (0) | 2021.03.15 |
LCS 백준 - 9251번 (0) | 2021.03.10 |
평범한 배낭 백준 - 12865번 (0) | 2021.03.09 |
The Triangle 백준 - 1932번 (0) | 2021.03.08 |