SZ#G6BT11. 【GESP强化 六级】二叉树的层平均值

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB

题目描述

给定一棵非空二叉树,请按照从根到叶的顺序,求出每一层所有节点值的平均数。

同一层的平均数等于这一层节点值之和除以节点数量。输出时按照层数从小到大的顺序给出结果,每个平均数保留 66 位小数。

输入格式

第一行一个整数 nn,表示二叉树的节点数。节点编号为 11nn,根节点编号为 11;当 n=0n=0 时表示空树。

n>0n>0 时,第二行包含 nn 个整数 v1,v2,,vnv_1,v_2,\ldots,v_n,其中 viv_i 表示节点 ii 保存的值。

接下来 nn 行,第 ii 行包含两个整数 li,ril_i,r_i,分别表示节点 ii 的左孩子编号和右孩子编号。编号 00 表示相应孩子不存在。输入保证这些数据构成一棵合法二叉树。

输出格式

第一行输出二叉树的层数。随后按照从上到下的顺序,每层输出一个平均数,保留 66 位小数。

4
106872 -735091 129637 904899
2 0
3 4
0 0
0 0
3
106872.000000
-735091.000000
517268.000000
4
800836 -287817 -440304 312364
0 2
3 4
0 0
0 0
3
800836.000000
-287817.000000
-63970.000000
2
-695961 -613299
0 2
0 0
2
-695961.000000
-613299.000000

数据范围与约定

  • 树中节点数量在 [1, 10410^4 ] 范围内
  • 231-2^31 ≤ v_i ≤ 2312^31 - 1