當前位置:網站首頁>後綴錶達式(暑假每日一題 4)
後綴錶達式(暑假每日一題 4)
2022-07-23 15:49:22【sweetheart7-7】
給定一個二叉錶達式樹,請你輸出相應的後綴錶達式,要求使用括號反映運算符的優先級。
輸入格式
第一行包含整數 N N N,錶示節點數量。節點編號 1 ∼ N 1∼N 1∼N。
接下來 N N N 行,每行給出一個節點的信息(第 i i i 行對應第 i i i 個節點),格式為:
data left_child right_child
其中,data
是一個不超過 10 10 10 個字符的字符串,left_child
和 right_child
分別是該節點的左右子節點的編號。
沒有子節點(即 NULL
),則用 −1
錶示。
下面兩圖分別對應給出的兩個樣例。
輸出格式
在一行中輸出答案,錶達式符號之間不得有空格。
數據範圍
1 ≤ N ≤ 20 1≤N≤20 1≤N≤20
輸入樣例1:
8
* 8 7
a -1 -1
* 4 1
+ 2 5
b -1 -1
d -1 -1
- -1 6
c -1 -1
輸出樣例1:
(((a)(b)+)((c)(-(d))*)*)
輸入樣例2:
8
2.35 -1 -1
* 6 1
- -1 4
% 7 8
+ 2 3
a -1 -1
str -1 -1
871 -1 -1
輸出樣例2:
(((a)(2.35)*)(-((str)(871)%))+)
#include<iostream>
#include<cstring>
using namespace std;
const int N = 30;
int n;
string a[N];
int l[N], r[N];
bool st[N];
void dfs(int u){
cout << '(';
if(l[u] == -1 && r[u] != -1){
cout << a[u];
dfs(r[u]);
}else{
if(l[u] != -1) dfs(l[u]);
if(r[u] != -1) dfs(r[u]);
cout << a[u];
}
cout << ')';
}
int main(){
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i] >> l[i] >> r[i];
if(l[i] != -1) st[l[i]] = true;
if(r[i] != -1) st[r[i]] = true;
}
int head = -1;
for(int i = 1; i <= n; i++)
if(!st[i]) head = i;
dfs(head);
return 0;
}
版權聲明
本文為[sweetheart7-7]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207231118586227.html
邊欄推薦
猜你喜歡
隨機推薦
- BGP機房的優點
- 真人踩過的坑,告訴你避免自動化測試常犯的10個錯誤
- 判斷是否為void類型
- C語言——幾道C語言經典習題
- openvino_datawhale
- C語言基礎知識梳理(一)
- Redis源碼與設計剖析 -- 7.快速列錶
- 比特,比特,字節,字的概念與區別
- 項目部署(簡版)
- JDBC的學習以及簡單封裝
- [pytho-flask筆記5]藍圖簡單使用
- Web Component-自定義元素的生命周期
- 數倉4.0筆記——業務數據采集
- 數倉4.0筆記——用戶行為數據采集四
- 對.h5文件的迭代顯示,h5py數據操作
- 常用數學知識匯總
- “東數西算”下數據中心的液冷GPU服務器如何發展?
- 硬件知識1--原理圖和接口類型(基於百問網硬件操作大全視頻教程)
- 鋼結構基本原理複習
- Unity3d:UGUI源碼,Rebuild優化
- 快速解决:Xshell拖不進去文件夾或者軟件包的問題
- RHCSA--文件內容瀏覽、cut、uniq、sort、.tr命令使用
- 信號完整性(SI)電源完整性(PI)學習筆記(三十二)電源分配網路(四)
- EasyGBS平臺出現錄像無法播放並存在RTMP重複推流現象,是什麼原因?
- 第七天筆記
- 【可視化調度軟件】上海道寧為SMB組織帶來NETRONIC下載、試用、教程
- 概率沉思錄:2.The quantitative rules
- 常用的鼠標事件和鍵盤事件
- C#:in、out、ref關鍵字
- GRE,MGRE的詳細了解;OSPF基礎配置知識
- Creo 9.0 如何快速修改CAD坐標系?
- 第五天筆記
- 强化學習——策略梯度理解點
- shell跑的時候需要的需要了解命令
- OKRK3399開發板預留I2C4掛載EEPROM
- 優化華為雲服務器采用Key登陸
- 第2章 基礎查詢與排序
- 【C語言】猜數字小遊戲+關機小程序
- 什麼是Per-Title編碼?
- @FeignClient使用詳細教程(圖解)