코딩테스트/백준

백준 11725 : 트리의 부모 찾기 _자바 Java

플래시🦥 2023. 1. 29.
반응형

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

 

11725번: 트리의 부모 찾기

루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.

www.acmicpc.net


import java.util.*;

public class Main {
	
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();	//노드 개수
	
		ArrayList<Integer>[] list = new ArrayList[N+1];
		boolean[] visit= new boolean[N+1];
		int[] parent= new int[N+1];
		
		for(int i=0;i<list.length;i++)
			list[i]=new ArrayList<>();
		
		for(int i=0;i<N-1;i++) {
			int a= sc.nextInt();
			int b= sc.nextInt();
			list[b].add(a);
			list[a].add(b);
		}
		
		Queue<Integer> qu = new LinkedList<>();
		qu.add(1);
		visit[1]=true;
		while(!qu.isEmpty()) {
			int k = qu.poll();
			for(int i:list[k]) {
				if(!visit[i]) {
					qu.add(i);
					parent[i]=k;
					visit[i]=true;
				}
			}
		}
		
		for(int i=2;i<parent.length;i++) {
			System.out.println(parent[i]);
		}
		
	}// main()
	

}// class Main
728x90
반응형

댓글