1130 Infix Expression
考察:DFS进行中序遍历。
注意:给除了根节点以外的父节点加左右括号。
AC代码
#include<cstdio>
#include<iostream>
#include<set>
#include<vector>
#include<map>
#include<algorithm>
#include<cmath>
#include<queue>using namespace std;const int maxn = 21;int n;struct Node{string str;int lchild,rchild;
}node[maxn];int vis[maxn] = {0};int R;int findRoot(){int root;for(int i=1;i<=n;i++){if(vis[i]==0){root = i;break;}}return root;
}void DFS(int root){if(root==NULL)return;if(root!=R&&(node[root].lchild!=-1||node[root].rchild!=-1))printf("(");if(node[root].lchild!=-1)DFS(node[root].lchild);printf("%s",node[root].str.c_str());if(node[root].rchild!=-1)DFS(node[root].rchild);if(root!=R&&(node[root].lchild!=-1||node[root].rchild!=-1))printf(")");return;
}int main(){cin>>n;for(int i=1;i<=n;i++){string str;int l,r;cin>>str>>l>>r;node[i].str = str;node[i].lchild = l;vis[l] = 1;node[i].rchild = r;vis[r] = 1;}R = findRoot();DFS(R);return 0;
}
相关文章:

学习笔记之vue根据权限动态添加路由
路由守卫判断 router.beforeEach((to, from, next) > {if (to.path /login) {sessionStorage.removeItem(user);}if (!user && to.path ! /login&&location.search ! ?validate) {next({ path: /login })} else {next()} }) 复制代码 点击登陆后ÿ…

javascript重置(base层)(。。。。不完整)
1、nextSibling浏览器兼容问题 <ul><li id"item1"></li><li id"item2"></li><li id"item3"></li> </ul> var item1document.getElementById("item1"); alert(item1.nextSibling.id);…

java myeclipse jar 导出问题
1.工程 jdk要和实际jdk最好一个版本;2.有外部导入的jar,导出时应用manifest,设置外部引用JAR。例如:Manifest-Version: 1.0 Sealed: true Class-Path: lib/log4j-1.2.8.jar lib/xercesImpl.jar Main-Class: com.unimoco.mmsplatform.handler.MMSMOCenter…

漫谈回溯(未完待续)
将不使用优化算法、直接用朴素算法来解决问题的做法称为暴力法。 回溯是带优化的穷举。 回溯是具有界限函数的深度优先搜索。

sendStickyBroadcast和sendStickyOrderedBroadcast
sendStickyBroadcast和sendStickyOrderedBroadcast - 牛仔的移动开发博客 - 博客频道 - CSDN.NET sendStickyBroadcast和sendStickyOrderedBroadcast发出的广播会一直滞留(等待),以便有人注册这则广播消息后能尽快的收到这条广播。其他功能与…

固定资产打印条码标签应用方案
条码在固定资产管理中的应用方案: 应用客户案例: 河南省交通规划勘察设计院 黄河水文勘察测绘局 以实物管理为基础,以条码技术的应用为特点。通过先进的条码技术对固定资产实物从购置、领用、转移、盘点、清理到报废等方面进行全方位准确监管…

有关于诚信:唐骏学历门
提高造假的成本 - 南桥的博客 唐骏的学历门曝光后,我回想起过去的一件往事来。我读博士的时候,有人找我合作,在其介绍材料里写“博士”,我赶紧写信纠正,说自己是“博士生”(doctoral student),而…

1115 Counting Nodes in a BST
我的DFS void DFS(Node* root){if(rootNULL)return;if(root->lchild){root->lchild->layer root->layer1;cnt[root->lchild->layer] ;maxLayer max(maxLayer,root->lchild->layer);DFS(root->lchild);}if(root->rchild){root->rchild->…

必会重构技巧:使用多态替换条件
使用多态替换条件:指在进行类型检查和执行某些类型操作时,最好将算法封装在类中,并且使用多态来对代码中的调用进行抽象 举例理解:看定义可能比较迷糊,其实说的简单一点,对于使用分支语句并且分支条件是和…
深度分析Java的枚举类型——枚举的线程安全性及序列化问题
点击关注,快速进阶高级架构师作者:Hollis写在前面:Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是…

1081 Rational Sum 有理数类型题处理 需再做
一、有理数结构体的几个约束 struct fraction{LL up,down;fraction(LL _up,LL _down):up(_up),down(_down){} }; (1)如果这个有理数是0,则让分子为0,分母为1(这方便后来输出时归于整数一类) (2)如果这个…

LeetCode 191 Number of 1 Bits
LeetCode 191 Number of 1 Bits 解法一(较为传统都解法):使用将n不断右移,并与1想&得到1的个数;(也有使用除法/2的,明显除法的运行效率要低于位移) 时间复杂度:0(logn) 1 int hammingWeight(uint32_t …

某网站破解备忘
某网站采用了多种反破解手段,特此开贴记录分析破解过程。 工具和参考 awesome-java-crawler - 我收集的爬虫相关工具和资料 java-curl - 本人写的java HTTP库,可用来替换chrome网络后端,更方便控制底层行为,如缓存、代理、监控、修…

用XML反序列化快速完成ASP.NET配置文件
一般来说,asp.net的配置文件用web.config就可以解决,但是有时候我们希望完全用自己的形式来配置某些东西,比如希望用下面的形式来配置一个站点的所有有message。<Messages> <Message ID"ID1">Message1</Message&…

1088 Rational Arithmetic
本题需要具备有理数处理相关知识。 本次收获(错点) (1)在化简求最大公约数时,忘记给传入的分子加绝对值 (2)把除法错写成乘法,自己设计测试用例才测出orz AC代码 #include<cstdio> #include<…

CesiumLab V1.2 新功能 倾斜数据处理
一转眼又是一周的时间,我们的实验室功能又强大了。 照旧我们先放毒,放图,图,太晚了,字都敲不到一起了lod以及包围盒大雁塔实例,按楼层单体化倾斜数据处理参数设置 简单介绍一下 CesiumLab 的 Osgb倾斜数据转…

参加海峡两岸城市地理信息系统论坛2010 年会(一张图、规划信息化和空间句法的碎碎念)...
上周末去清华建筑学院开了个会,叫做海峡两岸城市地理信息系统论坛2010 年会,主题很大,但是内容比较集中一些,就是围绕着GIS与城市规划。一天下来听了20个报告,挺佩服主办方的时间控制,这么密集的报告&#…

hdu 2087 剪花布条
http://acm.hdu.edu.cn/showproblem.php?pid2087 水题,注意细节就可以了。 代码如下: #include<iostream> #include<string>using namespace std;int main() {string s1,s2;while(cin>>s1&&s1!"#"){cin>>s2;…

感知机模拟或门的实现:权重和阈值的设置
def orGate(x1, x2):w1, w2, theta 0.5, 0.5, 0.4tmp x1 * w1 x2 * w2if tmp < theta:return 0elif tmp > theta:return 1print(orGate(1, 1)) print(orGate(0, 1)) print(orGate(1, 0)) print(orGate(0, 0))

apply call bind 简介
Function.prototype.call(thisArg [, arg1, arg2, ...]) call() 简述 call() 方法 调用一个函数, 其具有一个指定的 this 值和分别地提供的参数(参数的列表)。当第一个参数为 null、undefined 的时候, 默认 this 上下文指向window。call() 简单实例 const name qia…

自定义控件的构建(5)
Share 在ASP.NET框架中支持在回传中保存值的有2种方式:视图状态和控件状态 视图状态 ASP.NET中几个对象属性与控件最为密切的,就是ViewState了。 这里对其做下说明,任何可序列化类的实例均可添加到视图状态中,但是实际上ÿ…

Javascript之旅——第一站:从变量说起
原文出处: 一线码农的博客 欢迎分享原创到伯乐头条 工作这几年,js学的不是很好,正好周末有些闲时间,索性买本《js权威指南》,大名鼎鼎的犀牛书,好好的把js深入的看一看。买过这本书的第一印象就是贼厚&am…

从浏览器发展史读懂user-agent
世界上第一个浏览器:WorldWideWeb(和万维网重名),改名Nexus,只能在NeXT系统运行。 世界上第二个浏览器:Line Mode Browser,C语言编写,只能显示文本,可以移植到不同系统。 世界上第三个浏览器(…

在把 png 或者 gif“储存为 web 所用格式”时,勾选“交错”选项
选择“交错”可创建在整个图像文件的下载过程中,在浏览器中以低分辨率显示的图像。“交错”可以使下载时间显得较短,并使查看者确信下载正在进行。但是交错也会增大文件大小。转载于:https://www.cnblogs.com/dongzhiquan/archive/2010/07/28/1994585.ht…

学习GraphX
首先准备如下社交图形数据:打开spark-shell;导入相关包:import org.apache.spark._ import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD创建如上graph对象:// Create an RDD for the vertices val users: RDD[(Ve…

安装NodeJS环境报错
Failures - (exited 1) - Error while running C:\ProgramData\chocolatey\lib\visualstudio2019-workload-vctools\tools\ChocolateyInstall.ps1. 待解决

Eureka单机高可用伪集群配置
Eureka Server高可用集群理论上来讲,因为服务消费者本地缓存了服务提供者的地址,即使Eureka Server宕机,也不会影响服务之间的调用,但是一旦新服务上线,已经缓存在本地的服务提供者不可用了,服务消费者也无…

小小21点模拟
#include<iostream> #include<string> #include<cstdlib> #include<ctime> using namespace std; struct Card //一张扑克牌 { int value; //点数 string color; //花色 string face; //1-10、J、Q、K面值 }; void initCards(Card *cards) { for(int i…

BZOJ-1005 明明的烦恼
Prufer编码练习题,这个编码是跟树的生成计数有关系的。 推荐这篇博文:http://www.cnblogs.com/zhj5chengfeng/archive/2013/08/23/3278557.html 介绍地挺全面生动形象 会了Prufer之后这道题还要用上组合数学来高精度计算。 #include <cstdlib> #in…

使用npm打包后生成的package.json中重要字段含义
{"name": "demo",// 包名称,不能和npm平台上其他包重复"version": "1.0.0",// 版本号"description": "","main": "index.js",// 执行入口"scripts": {// 自定义脚本"test&quo…