반응형
dictionary를 이용해 단방향 링크드리스트 구조로 구현.
부모의 자식은 여러 명일 수도 있지만, 자식의 부모는 무조건 1명이라는 점을 이용해 순회함.
문제)
https://www.acmicpc.net/problem/25601
코드)
import sys
input = sys.stdin.readline
N = int(input().strip())
tree = dict()
for i in range(N-1):
A, B = input().split() # A: 자식, B: 부모
tree[A] = B # 부모는 언제나 1명
A, B = input().split()
def check(tree, child, target_parent):
parent = child
while True:
try:
parent = tree[parent]
# print(parent)
if parent == target_parent:
return 1
except:
return 0
print(check(tree, A, B) | check(tree, B, A))
반응형
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[boj] 백준 2775 부녀회장이 될테야 python 풀이 (0) | 2023.05.11 |
---|---|
[boj] 백준 2209 조짜기 python 풀이 (0) | 2023.05.11 |
[boj] 백준 14890 경사로 python 풀이 (0) | 2023.05.04 |
[boj] 백준 1303 전쟁 - 전투 python 풀이 (0) | 2023.04.30 |
[boj] 백준 1926 그림 python 풀이 (1) | 2023.04.30 |