Pro.ID1506 Title满地红叶 Title链接http://10.20.2.8/oj/exercise/problem?problem_id=1506 AC94 Submit239 Ratio39.33% 时间&空间限制描述每年秋天,北岭山上的树叶就变黄变红,可以看到满山红叶的奇景。北风一吹,落叶纷纷,飘落在地上,堆积起来。如果同样的事情发生在二叉树,那么树叶能堆成多大呢? 假设二叉树的每一个节点都"落下"一些叶子,这个节点落下的叶子的数量就是该节点上的值。假设所有叶子都是垂直降落在地上(谢天谢地没有风把这些叶子吹得满地乱跑)。假设二叉树节点在水平方向的位置关系如下:节点的左孩子就在该节点左边一个单位的距离,右孩子就在该节点右边一个单位的距离。请参阅下面这棵二叉树 值为5和6的这两个节点在水平方向上处于同一位置(垂直方向则处于不同位置)。值为7的节点处于5和6这两个节点的左边一个单位的距离,值为3的节点处于5和6这两个节点的右边一个单位的距离。当树叶从节点落下时,叶子堆积起来,形成三个树叶堆:最左边的一堆有7片叶子(从最左边的节点落下),中间的一堆有11片叶子(从5和6这两个节点落下所得),右边的一堆有3片叶子。 (一般来说,只有叶子节点才有树叶,非叶节点是没有树叶的。但在我们这个题目里不考虑这些了。) 输入输入有多个测试用例,每个测试用例是一棵二叉树。 一棵二叉树是这样描述的:首先给出这棵二叉树的根节点,接着是对它的左子树的描述,然后是对它的右子树的描述。对左子树和右子树的描述,采用同样的方式。 如果子树为空树,就用 -1 表示。 因此,上述的那棵二叉树就表示为 5 7 -1 6 -1 -1 3 -1 -1 。 每一个真实的树节点包含了一个正整数,代表叶子的数量。 最后一个测试用例的后面是单独一个 -1,表示全部案例结束。 输出Description 每年秋天,北岭山上的树叶就变黄变红,可以看到满山红叶的奇景。北风一吹,落叶纷纷,飘落在地上,堆积起来。如果同样的事情发生在二叉树,那么树叶能堆成多大呢? 假设二叉树的每一个节点都"落下"一些叶子,这个节点落下的叶子的数量就是该节点上的值。假设所有叶子都是垂直降落在地上(谢天谢地没有风把这些叶子吹得满地乱跑)。假设二叉树节点在水平方向的位置关系如下:节点的左孩子就在该节点左边一个单位的距离,右孩子就在该节点右边一个单位的距离。请参阅下面这棵二叉树 值为5和6的这两个节点在水平方向上处于同一位置(垂直方向则处于不同位置)。值为7的节点处于5和6这两个节点的左边一个单位的距离,值为3的节点处于5和6这两个节点的右边一个单位的距离。当树叶从节点落下时,叶子堆积起来,形成三个树叶堆:最左边的一堆有7片叶子(从最左边的节点落下),中间的一堆有11片叶子(从5和6这两个节点落下所得),右边的一堆有3片叶子。 (一般来说,只有叶子节点才有树叶,非叶节点是没有树叶的。但在我们这个题目里不考虑这些了。) Input 输入有多个测试用例,每个测试用例是一棵二叉树。 一棵二叉树是这样描述的:首先给出这棵二叉树的根节点,接着是对它的左子树的描述,然后是对它的右子树的描述。对左子树和右子树的描述,采用同样的方式。 如果子树为空树,就用 -1 表示。 因此,上述的那棵二叉树就表示为 5 7 -1 6 -1 -1 3 -1 -1 。 每一个真实的树节点包含了一个正整数,代表叶子的数量。 最后一个测试用例的后面是单独一个 -1,表示全部案例结束。 Output 对每个测试用例,首先输出一行:测试用例的编号(编号从1开始,顺序递增)。 接下来一行从左到右输出这棵二叉树的每一堆落叶数量,每一堆数值之间用一个空格分隔。这一行不会超过80个字符。 接下来一个空行。 请参阅输出样例。 Sample Input 5 7 -1 6 -1 -1 3 -1 -1 Sample Output Case 1: Hint -1既可以表示子树为空,也可以表示全部案例结束。Sample Input输入的第二行和第三行数据,实际上是一棵树,而不是两棵树。所以,不要误以为一行数据是一棵树。另外,每棵树都是完整的。 样例输入5 7 -1 6 -1 -1 3 -1 -1 样例输出Case 1: 提示-1既可以表示子树为空,也可以表示全部案例结束。Sample Input输入的第二行和第三行数据,实际上是一棵树,而不是两棵树。所以,不要误以为一行数据是一棵树。另外,每棵树都是完整的。 作者 |