当前位置:网站首页>The Falling Leaves
The Falling Leaves
2022-06-28 08:10:00 【Angeliaaa】
Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on the trees, followed quickly by the falling leaves accumulating under the trees. If the same thing happened to binary trees, how large would the piles of leaves become? We assume each node in a binary tree ”drops” a number of leaves equal to the integer value stored in that node. We also assume that these leaves drop vertically to the ground (thankfully, there’s no wind to blow them around). Finally, we assume that the nodes are positioned horizontally in such a manner that the left and right children of a node are exactly one unit to the left and one unit to the right, respectively, of their parent. Consider the following tree on the right: The nodes containing 5 and 6 have the same horizontal position (with different vertical positions, of course). The node containing 7 is one unit to the left of those containing 5 and 6, and the node containing 3 is one unit to their right. When the ”leaves” drop from these nodes, three piles are created: the leftmost one contains 7 leaves (from the leftmost node), the next contains 11 (from the nodes containing 5 and 6), and the rightmost pile contains 3. (While it is true that only leaf nodes in a tree would logically have leaves, we ignore that in this problem.)
Input
The input contains multiple test cases, each describing a single tree. A tree is specified by giving the value in the root node, followed by the description of the left subtree, and then the description of the right subtree. If a subtree is empty, the value ‘-1’ is supplied. Thus the tree shown above is specified as ‘5 7 -1 6 -1 -1 3 -1 -1’. Each actual tree node contains a positive, non-zero value. The last test case is followed by a single ‘-1’ (which would otherwise represent an empty tree).
Output
For each test case, display the case number (they are numbered sequentially, starting with 1) on a line by itself. On the next line display the number of “leaves” in each pile, from left to right, with a single space separating each value. This display must start in column 1, and will not exceed the width of an 80-character line. Follow the output for each case by a blank line. This format is illustrated in theexamples below.
Sample Input
5 7 -1 6 -1 -1 3 -1 -1
8 2 9 -1 -1 6 5 -1 -1 12 -1
-1 3 7 -1 -1 -1
-1
Sample Output
Case 1:
7 11 3
Case 2:
9 7 21 15
题意:给定一棵二叉树,每个节点都有哟个平衡位置,左子节点在他左边一个单位,右子节点在他右面一个单位,要求 从左向右输出每个平衡位置的所有节点权值之和。
思路:题中给出的是先序便利,直接递归的读入数据,边读入边模拟更新,找到树根的平衡位置。控制一下输出即可,代码如下:
#include<stdio.h>
#include<string.h>
int sum[10010];
void build(int p, int num)
{
sum[p] += num;
int v;
scanf("%d", &v);
if (v!=-1)
build(p-1,v);
scanf("%d",&v);
if (v!=-1)
build(p+1,v);
return ;
}
int main()
{
int T, i, k = 1;
while(~scanf("%d",&T)&&T!=-1)
{
memset(sum,0,sizeof(sum));
printf("Case %d:\n", k++);
build(500,T);
int flag = 0;
for(i=0;i<1000;i++)
{
if(sum[i]!= 0)
{
if(!flag)
{
printf("%d",sum[i]);
flag = 1;
}
else printf(" %d",sum[i]);
}
}
printf("\n\n");
}
return 0;
}
边栏推荐
- Prometheus + grafana + MySQL master-slave replication + host monitoring
- Trigonometric transformation formula
- 块级元素上下左右居中的两个小技巧
- MySQL single table access method
- Modifying the SSH default port when installing Oracle RAC makes CRS unable to install
- [JS] - [throttling and anti shake function]
- PMP从报考到拿证基本操作,了解PMP必看篇
- Uvcgan: unt vision transformer cycle-consistent Gan for unpropared image-to-image translation
- 你了解TCP协议吗(一)?
- Prometheus service discovery
猜你喜欢
PLSQL installation under Windows
探讨gis三维系统在矿山行业中的应用
【学习笔记】最短路 +生成树
Airflow2.x distributed deployment DAG execution failure log cannot be obtained normally
MySQL row format parsing
找合适的PMP机构只需2步搞定,一查二问
Buffer pool in MySQL
ROS 笔记(09)— 参数的查询和设置
Usage record of Xintang nuc980: self made development board (based on nuc980dk61yc)
三角变换公式
随机推荐
Airflow2.1.1 ultra detailed installation document
2022巴黎时装周儿童单元6.19武汉站圆满落幕
MySQL two table connection principle (understand join buf)
NPM clean cache
redis02——一篇终结redis的五种数据类型操作命令(可学习、复习、面试、收藏备用)
你了解TCP协议吗(二)?
[JS] - [throttling and anti shake function]
设置网页的标题部分的图标
图像翻译:UVCGAN: UNET VISION TRANSFORMER CYCLE-CONSISTENT GAN FOR UNPAIRED IMAGE-TO-IMAGE TRANSLATION
Selenium reptile
城联优品向英德捐赠抗洪救灾爱心物资
Force buckle 1024 video splicing
The micro kernel zephyr is supported by many manufacturers!
Devops Basics: Jenkins deployment and use (I)
【学习笔记】模拟
Prometheus monitoring (I)
抗洪救灾,共克时艰,城联优品捐赠10万元爱心物资驰援英德
Why MySQL cannot insert Chinese data in CMD
Set the encoding of CMD to UTF-8
Redis uses sentinel master-slave switching. What should the program do?