백준_11725 트리의 부모 찾기 (트리, dfs)Algorithm/Algorithm 문제2024. 3. 5. 11:14
Table of Contents
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class BJ_11725_트리의부모찾기 {
static ArrayList<Integer>[] tree;
static int[] parent;
static boolean[] visited;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
tree = new ArrayList[n+1];
parent = new int[n+1];
visited = new boolean[n+1];
int i;
for (i=1; i<n+1; i++) {
tree[i] = new ArrayList<>();
}
StringTokenizer st;
int a, b;
for (i=0; i<n-1; i++) {
st = new StringTokenizer(br.readLine(), " ");
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
tree[a].add(b);
tree[b].add(a);
}
dfs(1);
StringBuilder sb = new StringBuilder();
for (i=2; i<n+1; i++) {
sb.append(parent[i]).append('\n');
}
System.out.println(sb);
}
static void dfs(int node) {
visited[node] = true;
for (int nextNode : tree[node]) {
if (!visited[nextNode]) {
parent[nextNode] = node;
dfs(nextNode);
}
}
}
}
'Algorithm > Algorithm 문제' 카테고리의 다른 글
백준_14425 문자열 집합 (트라이) (0) | 2024.03.07 |
---|---|
백준_1068 트리 (트리, dfs) (0) | 2024.03.06 |
백준_1414 불우이웃돕기 (mst) (0) | 2024.03.04 |
백준_17472_다리 만들기 2 (mst&bfs) (0) | 2024.03.02 |
백준_1197_최소스패닝트리 (mst) (0) | 2024.03.02 |
@kjyyjk :: 녕의 학습 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!