백준 11725 트리의 부모찾기 python

청천·2022년 10월 12일
0

백준

목록 보기
29/41

👨‍💻문제 관찰
트리의 루트를 1이라고 할때 각 노드의 부모를 구하는 문제

🔑문제 해설
첫째 줄에는 노드의 개수가 주어지고 둘째 줄 부터 N-1개의 줄에 트리의 상에서 연결된 두 정점이 주어 진다.

N = int(input()) # 노드의 개수
adj = [[] for _ in range(N+1)] # 인접리스트로 노드간 관계 구현
par = [0] * (N+1) # 부모 노드 배열 

for _ in range(N-1):	# 노드간의 관계를 인접리스트에 넣어주기
	x, y = map(int, input().split())
    adj[x].append(y)
    adj[y].append(x)
    
 def DFS(x, p) # 인자는 자식과 부모, dfs로 인접리스트 탐색을 하여서 부모 관계를 찾기
 	for y in adj[x]:
    if y == p: # 형제 노드이면 컨티뉴!
    	continue
    par[y] = x
    dfs(y, x)
dfs(1, -1)
for i in range(2, n+1): # 2번 노드 부터 부모 출력
	print(par[i])
    

0개의 댓글