728x90
반응형
https://www.acmicpc.net/problem/11725
11725번: 트리의 부모 찾기
루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.
www.acmicpc.net
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int parent[100001];
bool visited[100001];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<int> node[100001];
for(int i = 0; i < n - 1; i++){
int x, y;
cin >> x >> y;
node[x].push_back(y);
node[y].push_back(x);
}
queue<int> q;
q.push(1);
visited[1] = true;
while(!q.empty()){
int cur = q.front();
q.pop();
for(int i = 0; i < node[cur].size(); i++){
int next = node[cur][i];
if(!visited[next]){
parent[next] = cur;
visited[next] = true;
q.push(next);
}
}
}
for(int i = 2; i <= n; i++){
cout << parent[i] << '\n';
}
return 0;
}
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 18429번 근손실(C++) (0) | 2023.03.19 |
---|---|
[BOJ] 2263번 트리의 순회 (C++) (0) | 2023.03.18 |
[BOJ] 1761번 정점들의 거리 (C++) (0) | 2023.03.17 |
[BOJ] 11437번 LCA (C++) (0) | 2023.03.17 |
[BOJ] 3584번 가장 가까운 공통 조상 (C++) (0) | 2023.03.16 |