[백준 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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바