[백준 11725] 트리의 부모 찾기

2024. 8. 30. 02:35·Study/Algorithm
728x90

문제

https://www.acmicpc.net/problem/11725


접근

  • 인접 리스트로 트리 생성
  • DFS 로 루트 노드 1부터 탐색
    • 탐색 시 해당 노드의 부모를 parents 배열에 기록한다.
    • 노드 탐색 시 다시 부모 노드를 탐색하지 않기 위해 주의!


코드

import java.util.*;
import java.io.*;

public class TreeParent_11725 {
    static List<Integer>[] tree;
    static int[] parents;
    static int N;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());

        tree = new List[N + 1];
        parents = new int[N + 1];

        for (int i = 1; i < N + 1; i++) {
            tree[i] = new ArrayList<>();
        }
        for (int i = 1; i < N; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int node1 = Integer.parseInt(st.nextToken());
            int node2 = Integer.parseInt(st.nextToken());
            tree[node1].add(node2);
            tree[node2].add(node1);
        }

        dfs(1, 0);

        StringBuffer sb = new StringBuffer();
        for (int i = 2; i < N + 1; i++) {
            sb.append(parents[i] + "\n");
        }
        System.out.print(sb.toString());

    }
    // 각 노드를 탐색하면서 자식 노드의 부모를 기록
    static void dfs(int node, int parent) {
        parents[node] = parent;
        for (int child : tree[node]) {
            if (child != parent) {
                dfs(child, node);
            }
        }
    }
}
728x90
반응형
저작자표시 (새창열림)

'Study > Algorithm' 카테고리의 다른 글

[백준 1987] 알파벳  (0) 2024.08.30
[백준 11726] 2*n 타일링  (2) 2024.08.30
[백준 14502] 연구소  (0) 2024.08.27
[백준 1238] 파티  (0) 2024.08.25
[백준 1167] 트리의 지름  (0) 2024.08.23
'Study/Algorithm' 카테고리의 다른 글
  • [백준 1987] 알파벳
  • [백준 11726] 2*n 타일링
  • [백준 14502] 연구소
  • [백준 1238] 파티
pink_salt
pink_salt
유익함을 주는 개발자가 되도록 keep going
  • pink_salt
    KeepGoingForever
    pink_salt
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • Project (7)
      • WEB study (3)
        • WEB(Springboot) (10)
        • Git, GitLab (13)
        • Clean code (1)
        • FrontEnd (3)
      • Study (21)
        • Algorithm (19)
        • 면접 준비 (2)
      • Cloud Computing (2)
        • AWS (2)
      • 프로그래밍 언어 (35)
        • Java (29)
        • Python (0)
        • javascript (6)
      • 운영체제 (0)
        • Linux (0)
      • Database (4)
        • MongoDB (8)
        • SQL (8)
      • 애플리케이션 개발 (1)
        • Android (1)
      • AI (1)
        • Deeplearning (1)
        • machinelearning (0)
      • Daily (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    IT교육
    Database
    Query
    MongoDB
    Java
    gitlab
    spring boot
    Git
    언어
    SW
    codepresso
    BFS
    무료코딩교육
    dp
    백준
    객체지향
    mysql
    오블완
    코드프레소
    코딩이러닝
    대외활동
    자바
    티스토리챌린지
    코딩강의
    개념
    python
    SWEA
    빅오표기법
    무료IT교육
    git branch
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
pink_salt
[백준 11725] 트리의 부모 찾기
상단으로

티스토리툴바