7-1 叶节点求和 (30 分)

对给定的有N个节点(N>=0)的二叉树,求叶节点元素之和。

输入格式:
第一行是一个非负整数N,表示有N个节点

第二行是一个整数k,是树根的元素值

接下来有N-1行,每行是一个新节点,格式为 r d e 三个整数,

r表示该节点的父节点元素值(保证父节点存在);d是方向,0表示该节点为父节点的左儿子,1表示右儿子;e是该节点的元素值。

输出格式:

树中叶节点元素之和 (保证在整型变量范围之内)。

输入样例:

在这里插入图片描述
对于图片中的二叉树:

3
20
20 0 10
20 1 25
#include <iostream>
#include <map>
using namespace std;
typedef struct node
{int data;int left,right;
}TNode;
int main()
{int  n;cin>>n;map <int ,int>m;int book[n]={0};//用来记录是否有孩子,可用来判断是否为叶子节点TNode * tree = new TNode[n];int k;cin>>k;m[k]=0;if(n==1){cout<<k;return 0; }for(int i=1;i<n;i++){int r,d,e;cin>>r>>d>>e;book[  m[r] ] = 1;m[e]=i;tree[i].data = e;if(d==0)tree[m[r]].left = i;else if(d==1)tree[m[r] ].right = i;}int total=0;for(int i=0;i<n;i++){if(book[i]==0)total+=tree[i].data;}cout<<total;return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker的学习笔记(开发的技术分享转发)

我的Docker学习记录一、安装dockeryum install -y docker-io二、使用docker1、下载镜像docker pull <image>2、查询镜像docker search <image> 3、从镜像运行容器docker run -it --name <name> <image> /bin/bash4、后台运行docker run -itd --name &l…

PhoneUtils

import java.util.regex.Matcher; import java.util.regex.Pattern;public class PhoneUtils {/*** param phoneNo* 加星号过的电话号码*/public static String dealPhoneNo(String phoneNo) {return phoneNo.substring(0, 3) "****" phoneNo.substring…

批量更新

这是最基本的批量更新。我使用的时候还不如逐条。 这好像还是官方的批量更新&#xff0c;反正不咋地。 ///批量更新&#xff0c;效率太低&#xff0c;不如逐条更新static void Update(){SqlDataAdapter sda new SqlDataAdapter("select PID,FMAddress,MeanValue1,StatsVa…

java实例练习——基于TCP/IP协议的多客户端通信

先说一下大概的思路&#xff1a; 应用多线程来实现服务器与多客户端之间的通信 1、服务器端创建ServerSocket&#xff0c;循环调用accept&#xff08;&#xff09;等待客户端连接&#xff1b; 2、客户端创建一个Socket并请求与服务器端连接&#xff1b; 3、服务器端接受客户端请…

windows资源管理器已停止工作后,使用命令提示窗口拷贝文件和运行exe程序

电脑异常现象&#xff1a; 需要从优盘拷贝NetAssist.exe软件至电脑进行运行&#xff0c;发现双击无法打开我的电脑和文件夹&#xff0c;点击提示的重新启动程序问题后仍存在&#xff0c;重启电脑、关机再开机该问题依然存在。插入优盘后可以识别到&#xff0c;但无法打开优盘&…

DAC8563芯片参考手册重要内容总结

DAC8563的主要参数&#xff1a; 供电电压&#xff1a;2.7~5.5V分辨率&#xff1a;16bit&#xff0c;双通道通讯接口&#xff1a;3线SPI串行通讯&#xff0c;速率最高至50MHz&#xff0c;支持3.3V和5V单片机&#xff08;有MOSI/CLK/CS&#xff0c;无MISO&#xff09;内部自带2.…

20155220 吴思其 2016-2017《java程序设计》第一周总结

对第一章和第二章的学习 通过了前两章的学习&#xff0c;我了解到了java的由来以及JVM/JRE/JDK三大平台 JDK JDK 是 Java 语言的软件开发工具包。 JDK是整个JAVA的核心&#xff0c;包括了Java运行环境&#xff0c;一堆Java工具&#xff08;javac/java/jdb等&#xff09;和Java基…

手把手教你从0创建STM32串口空闲+DMA数据接收工程

串口通讯是嵌入式系统中最常用的通讯方式。 STM32的串口接收普通的方式是在串口读数据寄存器非空RXNE中断&#xff08;Read data register not empty&#xff09;中1个字节1个字节的接收串口数据&#xff0c;一帧数据的接收完成可以使用结束帧判断&#xff0c;也可以使用定时器…

CSS display属性的值及作用

display 的属性值有&#xff1a;none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row|table-column-group|table-column|table-cell|table-caption|inherit其中常用的的有none、inline、blo…

TC214B直流电机控制芯片

潘多拉开发板中通过TC214B电机驱动芯片驱动板载直流电机&#xff0c;因此需要先了解TC214B芯片的主要功能及其使用方法。 通过以上资料可以了解到&#xff0c;MCU控制TC214B从而进行直流电机转动方向&#xff0c;方向控制&#xff08;即前进/后退&#xff09;主要是通过控制MCU…

题目1065:输出梯形

AC: #include<iostream> using namespace std; int main() {int h;while(cin>>h){int i,j,k,t;k(h-1)*2;th;for (i0;i<h;i)//h在此处已用&#xff0c;所以用th来代替重用&#xff1b;{ for (j0;j<k;j)cout<<" ";k-2;for (j0;j<t;j)cout&…

《C语言深度解剖》中的.c/.h 程序模板及函数注释风格

编程规范和变量命令规范对于代码的可阅读性、可维护性有着很大的影响。编程规范有很多&#xff0c;大公司也会制定自己公司的编程规范&#xff0c;如《华为技术有限公司c语言编程规范》等。对于个人编程来说没必要将自己编写的代码按照每一种编程规范去规范&#xff0c;因为不同…

每天学点Linux命令:倒叙打印文件第二行的前100个大写字母

sed -n 2p afile | grep [[:upper:]] -o | tr -d \n | cut -c1-100 | rev 处理第二行 grep:提取大写字母 o: 不显示非结果 tr:删除换行 Cut&#xff1a;截取1-100个字符 rev:逆序 断断续续搞了好长时间。最后还是解决了&#xff1b;man是个好东西~ 好人&…

ST7789V2 LCD驱动芯片

ST7789V2是一个单芯片TFT-LCD驱动器。该芯片可以直接连接到外部MCU&#xff0c;支持并行8080系列的8位/9位/16位/18位接口&#xff0c;也支持SPI串行通讯接口。 显示数据可以存储在240x320x18bits的片上显示数据RAM中。 它可以在没有外部操作时钟的情况下执行显示数据RAM读写操…

关于Java Collections的几个常见问题

列举几个关于Java Collections的常见问题并给出答案。 1. 什么时候用LinkedList&#xff0c;什么时候用ArrayList&#xff1f; ArrayList是使用数组实现的list&#xff0c;本质上就是数组。ArrayList中的元素可以通过索引随机获取一个元素。但是如果该数组已满&#xff0c;当添…

STM32 USB虚拟串口原理(上)

USB虚拟串口是使用USB的CDC&#xff08;CDC为communication device class(virtual port com)&#xff09;类实现的一种通讯接口。使用STM32自带的USB slave功能可以在电脑上实现一个USB虚拟串口&#xff0c;在电脑上可以直接使用串口调试助手打开该虚拟串口和STM32进行通讯。ST…

RT-Thread使用ENV生成工程时自己添加的文件被清掉的解决方法

在项目中难得一次就可以将需要的模块或组件包添加完成&#xff0c;因此在实际开发中经常会遇到在未完成的项目中增加软件包或使能硬件功能的情况。一般我们会使用RT-Thread的ENV辅助开发环境的menuconfig图形化系统配置工具对组件包进行配置&#xff0c;配置完后使用pkgs --upd…

怎样使用两行代码实现博客园打赏功能

也许大家看博客园博客的时候&#xff0c;遇到过一些博客右侧&#xff0c;展示了打赏二维码~ 如下图所示 那么&#xff0c;这是怎么实现的呢~~~ 不错&#xff0c;你没猜错&#xff0c;他们使用的是本人写的一个js插件--tctip。 大家搜一下&#xff0c;还能搜到网上有些tctip的教…

STM32 HAL库 .c/.h 文件介绍

HAL库中各个文件的介绍&#xff1a; startup_stm32l475xx.s 启动文件的主要作用是进行RAM中堆、栈内存的分配和初始化&#xff0c;中断向量表及中断函数的定义等&#xff0c;进行完这一系列工作后执行系统复位从而跳转至用户main函数开始执行。 stm32l4xx_hal_ppp.c/.h 基本…

【bzoj3514】 Codechef MARCH14 GERALD07加强版

http://www.lydsy.com/JudgeOnline/problem.php?id3514 (题目链接) 题意 给出$n$个点$m$条边的无向图&#xff0c;询问保留图中编号在$[l,r]$的边的时候图中的连通块的个数。 Solution 将边的编号作为权值用LCT维护一个最大生成树&#xff0c;同时记录一下加入当前边$i$会把哪…