晴神模拟赛 你们要的中缀表达式树Case Time Limit: 100 MS (Others) / 200 MS (Java) Case Memory Limit: 256 MB (Others) / 512 MB (Java)Accepted: 74 Total Submission: 280Problem Description给定一棵二叉树二叉树的各个结点要么表示四则运算符、-、、/要么表示一个不超过10的非负整数。将这棵二叉树看作中缀表达式树输出对应的中缀表达式以及该中缀表达式的计算结果。注意输出的中缀表达式中除了最外层以外内层的每个“左操作数 操作符 右操作数”形式的两侧都要加上一对小括号。例如2(3(4/5))就是一个可能的正确输出。Input每个输入文件中一组数据。第一行一个正整数NN30代表二叉树的结点个数结点编号为0到N-1。第二行按结点编号从小到大的顺序给出N个结点的值用空格隔开其要么是四则运算符、-、*、/的其中一个要么是一个不超过10的非负整数。接下来按结点编号从小到大的顺序给出N行每行为两个编号分别代表该结点的左孩子编号和右孩子编号如果不存在左(右)孩子那么就用字符’-代替。数据保证编号在0到N-1之间且中缀表达式树一定是合法的。Output输出一行即所求的中缀表达式与对应的计算结果精度保留两位小数表达式与计算结果之间用空格隔开。注意输出的中缀表达式中不允许有空格。数据保证中缀表达式合法且计算过程中不会出现除数为0的情况。Sample Input53 4 61 23 4Sample Output3*(46) 30.002017#includebits/stdc.h #includestring #includealgorithm using namespace std; const int maxn 1e2; struct node{ string data; int left; int right; }a[maxn]; string save[maxn] ; int num; int Dfs(int n, int depth){ int tempa, tempb; if(a[n].left ! -1 a[n].right ! -1 depth ! 0) cout (; if(a[n].left ! -1){ tempa Dfs(a[n].left, depth 1); } cout a[n].data; if(a[n].right ! -1){ tempb Dfs(a[n].right, depth 1); } if(a[n].left ! -1 a[n].right ! -1 depth ! 0) cout (; if(a[n].left ! -1 a[n].right ! -1){ if(a[n].data *) return tempa * tempb; if(a[n].data ) return tempa tempb; if(a[n].data -) return tempa - tempb; if(a[n].data /) return tempa / tempb; }else return stoi(a[n].data); } int main() { int i, j ; string tempa, tempb; cin num; for(i 0; i num; i){ cin save[i]; } for(i 0; i num; i){ cin tempa tempb; if(tempa -){ a[i].left -1; }else a[i].left stoi(tempa); if(tempb -){ a[i].right -1; }else a[i].right stoi(tempb); a[i].data save[i]; } int sum Dfs(0, 0); cout sum; return 0; }

相关新闻

最新新闻

Why框架,是怎么形成的

Why框架,是怎么形成的

Why框架,是怎么形成的 引言:从原始编程到框架的觉醒在编程的早期,开发者们面对的是赤裸裸的硬件和操作系统。他们需要手动管理内存、处理输入输出、编写冗长的循环和条件判断。每写一个项目,几乎都要从零开始——重复造轮子成了常…

2026/7/28 16:56:57
留学生收到了国内大厂的模糊意向书?用 Offer 确认函与明细条款拆解避坑「蒸汽求职分享」

留学生收到了国内大厂的模糊意向书?用 Offer 确认函与明细条款拆解避坑「蒸汽求职分享」

回国投递国内科技大厂校招或高潜人才引进的留学生,在经历数轮硬核技术厮杀与 HR 终面后,常会收到 HR 发来的“口头 Offer”或系统里的“录用意向书(Intent Letter / Pass 凭证)”。面对这份看似胜利的喜讯,许多缺乏国内…

2026/7/28 16:56:57
海外招聘会 Coffee Chat 不知道聊什么?用 3 分钟冰山破冰术化解尴尬「蒸汽求职分享」

海外招聘会 Coffee Chat 不知道聊什么?用 3 分钟冰山破冰术化解尴尬「蒸汽求职分享」

去参加学校的 Career Fair(校园招聘会)、Networking Event 或者线下的 Coffee Chat 时,很多留学生同学都经历过极其刺痛的“透明人时刻”:兴冲冲地打印了十几份简历跑去现场,结果看到企业的 Booth 前围满了热情开朗的老…

2026/7/28 16:56:57
花书笔记 卷积网络(9.5 基本卷积函数的变体)

花书笔记 卷积网络(9.5 基本卷积函数的变体)

步幅(stride) 步幅为s的卷积运算数学表达式 步幅大于一个像素的卷积在数学上等价于单位步幅的卷积随后降采样(down-sampling) 上图表示两种步幅(stride)为2的卷积运算方法,后者计算了许多被舍弃的值,在计算上是浪费的。 零填充(padding) 如果不加入零填充操作(即在输入…

2026/7/28 16:56:57
PHP . vs PHP . 开发者完整对比指南

PHP . vs PHP . 开发者完整对比指南

PHP . vs PHP . 开发者完整对比指南 引言在 PHP 开发中,.(点号)是最常用的符号之一,但它可以代表多种不同的概念:字符串连接运算符、对象方法调用(->)、命名空间分隔符(\&#xf…

2026/7/28 16:56:57
3 连接mysql 数据库 进行数据的存储和读取

3 连接mysql 数据库 进行数据的存储和读取

1下载node 连接模块npm i mysql -s2 在 src 下创建 conf 文件夹 用于存放配置文件 新建db.js通过环境参数的不同进行线上和线下配置const env process.env.NODE_ENV//环境参数let MYSQL_CONFif (env dev) {MYSQL_CONF {host: localhost,user: root,password: ,port: 3306,d…

2026/7/28 16:51:56

月新闻