tree_dp 마지막 연습 우수마을. 기본형이다. import sys input = sys.stdin.readline sys.setrecursionlimit(10**5) def dfs(v): visited[v] = True dp[v][1] = citizen[v-1] for u in graph[v]: if not visited[u]: dfs(u) dp[v][0] += max(dp[u][0],dp[u][1]) dp[v][1] += dp[u][0] N = int(input()) citizen = list(map(int, input().split())) graph = {i: [] for i in range(1,N+1)} visited = {i: False for i in range(1,N+1)} for _ in..