要是你认为塔子哥只做网站,那就大错特错了。其实塔子哥还做点云服务,最近,塔子哥忙着维护云服务器,没空跟你开黑。为了上分,你打算出手。
塔子哥将云服务看做一棵树,每个云服务在发布前尚未解决的问题称为云服务的遗留问题(云服务的遗留问题包含以该云服务为根节点的树上所有节点的问题),DI值(遗留问题缺陷密度)可以作为评估云服务发布的指标,当云服务DI值小于等于阈值时才准许云服务发布,否则视为风险云服务,需要问题整改完成后重新进行发布评估。现有一批云服务树,已给出云服务树各节点的问题数量,请通过计算输出风险云服务的个数。
计算公式:DI值≤5×严重问题数+2×一般问题数,其中每个节点的不同级别问题数量需要将该节点及该节点为根节点的所有子节点的相应级别问题数量求和。
在这道题目中,给定了一组以树形结构表示的云服务,每个节点记录着不同级别的问题及其数量。通过计算每个云服务的DI值(遗留问题缺陷密度),公式为 ( \text{DI值} = 5 \times \text{严重问题数} + 2 \times \text{一般问题数} ),判断其是否大于阈值,从而评估该云服务是否为风险服务。输入包括一个阈值和若干节点的信息,要求输出被评定为风险云服务的数量。
给定一个森林(多棵树),要求统计所有节点的计算值的和超过阈值的树的数量。
我们从树的根节点出发,遍历树的每一个子节点,在回溯时将其严重问题和一般问题的数量记录到父节点上。这样在遍历完一棵树后,根节点就包含了整棵树严重问题和一般问题的数量。按照公式计算是否超过阈值即可。