题目:
考察内容:
dict–update—for + sum + max
代码:
"""
题目分析:输入:
N int 1,1000 成员总数
list len(list)=N int 1, 1000000 财富值
N-1行, N1 N2, N1是N2的父节点
输出;
最富裕的小家庭的财富和eg:
4
100 200 300 500
1 2
1 3
2 44
100 200 300 500
1 2
1 3
1 4思路:
父节点, 用字典update
for + sum + max"""N = int(input())
sum_list = list(map(int, input().split()))
res = dict()
# 将父亲关系,通过字典映射,财富,key=父亲,value=儿子,通过列表表示
for _ in range(N-1):a, b = map(int, input().split())# 获取对应财富rich_a = sum_list[a-1]rich_b = sum_list[b-1]# 将儿子属于同一个父亲的,归到一类if rich_a in res:# 有相同的建,会直接替换成update的值temp = res[rich_a]temp.append(rich_b)res.update({rich_a: temp})else:res.update({rich_a: [rich_b]})print(res)
total = 0
for key, value in res.items():total = max(total, key + sum(value))
print(total)