获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为一个小家庭。
现给你一颗树,请计算出最富裕的小家庭的财富和。
输入描述
第一行为一个数 N,表示成员总数,成员编号 1~N。1 ≤ N ≤ 1000
第二行为 N 个空格分隔的数,表示编号 1~N 的成员的财富值。0 ≤ 财富值 ≤ 1000000
接下来 N -1 行,每行两个空格分隔的整数(N1, N2),表示 N1 是 N2 的父节点。
输出描述
最富裕的小家庭的财富和
用例
输入 4
100 200 300 500
1 2
1 3
2 4
输出 700
说明
成员1,2,3 组成的小家庭财富值为600
成员2,4 组成的小家庭财富值为700
题目解析
题目背景:
给定一个家庭树结构,每个节点代表一个家庭成员,并有一个对应的财富值。
定义了一个“小家庭”为树中某个节点及其直接相连的子节点。
核心要求:
需要找出所有“小家庭”中财富值之和最大的那个。
输出这个最大财富值之和。
数据输入:
第一行是成员总数N,表示树中有N个节点。
第二行是N个成员的财富值,按编号顺序给出。
接下来N-1行,每行表示一条树中的父子关系,即一个