当前位置:网站首页>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;
}
边栏推荐
- Airflow2 configuration windows azure SSO details based on oauth2 protocol
- Selenium+chromedriver cannot open Google browser page
- Software testing and quality final review
- Hidden scroll bar on PC
- Is it reliable to open an account by digging money? Is it safe?
- cuda和cudnn和tensorrt的理解
- Prometheus + grafana + MySQL master-slave replication + host monitoring
- 设置cmd的编码为utf-8
- 图像翻译:UVCGAN: UNET VISION TRANSFORMER CYCLE-CONSISTENT GAN FOR UNPAIRED IMAGE-TO-IMAGE TRANSLATION
- Chenglian premium products donated love materials for flood fighting and disaster relief to Yingde
猜你喜欢

Doris学习笔记之介绍、编译安装与部署

The maximum number of Rac open file descriptors, and the processing of hard check failure

【学习笔记】拟阵

Prometheus monitoring (I)

Redis persistence problem and final solution

Introduction, compilation, installation and deployment of Doris learning notes

B_QuRT_User_Guide(28)

Airflow2.x distributed deployment DAG execution failure log cannot be obtained normally

Airflow2 configuration windows azure SSO details based on oauth2 protocol

匿名页的反向映射
随机推荐
设置cmd的编码为utf-8
【尚品汇】项目笔记
Prometheus + grafana + MySQL master-slave replication + host monitoring
ROS 笔记(08)— 服务数据的定义与使用
整数划分
设置网页的标题部分的图标
Map. ToCharArray( ),Map. getOrDefault(). Map. charAt()
Doris学习笔记之介绍、编译安装与部署
Leetcode摆动序列系列
Oracle view all tablespaces in the current library
AI首席架构师8-AICA-高翔 《深入理解和实践飞桨2.0》
PLSQL installation under Windows
Redis02 -- an operation command of five data types for ending redis (it can be learned, reviewed, interviewed and collected for backup)
Software testing and quality final review
MySQL two table connection principle (understand join buf)
Understanding of CUDA, cudnn and tensorrt
sql分析(查询截取分析做sql优化)
你了解TCP协议吗(一)?
Prometheus service discovery
[learning notes] simulation