[백준][Python] 15900 나무탈출

[백준][Python] 15900 나무탈출

리프노드부터 거리 합이 홀수면 승 짝수면 패.

근데 이거 좀 너무한게 변수명을 다 저렇게 줄여야 통과됨..

아니면 시간초과

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")

from http://devlibrary00108.tistory.com/400 by ccl(A) rewrite - 2021-09-02 01:00:27