리프노드부터 거리 합이 홀수면 승 짝수면 패.
근데 이거 좀 너무한게 변수명을 다 저렇게 줄여야 통과됨..
아니면 시간초과
import sys
input = sys.stdin.readline
from collections import deque,defaultdict
# 왜? BFS로 안풀림?
def BFS(start):
q = deque()
q.append([start,0])
vi[start] = True
a = 0
while q:
c_n,d = q.popleft()
for n_n in g[c_n]:
if not vi[n_n]:
vi[n_n]=True
q.append([n_n,d+1])
if len(g[n_n])==1:
a += d+1
return a
N = int(input())
g = defaultdict(list)
vi = {i: False for i in range(1,N+1)}
for _ in range(N-1):
a, b = map(int, input().split())
g[a] += [b]
g[b] += [a]
print("Yes" if BFS(1)&1 else "No")
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 1747 소수&펠린드롬 (0) | 2021.09.02 |
---|---|
[백준][Python] 3613 Java vs C++ (0) | 2021.09.02 |
[백준][Python] 14391 종이조각 : 비트마스킹 전수조사 (0) | 2021.09.01 |
[백준][Python] 14945 불장난 (0) | 2021.09.01 |
[백준][Python] 2941 크로아티아 알파뱃 (0) | 2021.09.01 |