赞
踩
题目:
考察内容:
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 4 4 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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。