【PAT甲级】1099 Build A Binary Search Tree (30 分)
2024-09-06 01:32:01
题意:
输入一个正整数N(<=100),接着输入N行每行包括0~N-1结点的左右子结点,接着输入一行N个数表示数的结点值。输出这颗二叉排序树的层次遍历。
AAAAAccepted code:
#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
pair<int,int>a[];
int b[];
int cnt=;
int ans[];
void dfs(int x){
if(x==-)
return ;
dfs(a[x].first);
ans[x]=b[++cnt];
dfs(a[x].second);
}
void bfs(int x){
queue<int>q;
q.push(x);
while(!q.empty()){
int now=q.front();
q.pop();
if(a[now].first!=-)
q.push(a[now].first);
if(a[now].second!=-)
q.push(a[now].second);
if(now!=x)
cout<<" ";
cout<<ans[now];
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
for(int i=;i<=n;++i){
int x,y;
cin>>x>>y;
a[i-]={x,y};
}
for(int i=;i<=n;++i)
cin>>b[i];
sort(b+,b++n);
dfs();
bfs();
return ;
}
最新文章
- [SAP ABAP开发技术总结]客户端文本文件、Excel文件上传下载
- Minimum_Window_Substring两种方法求解
- 面试题_76_to_81_Java 最佳实践的面试问题
- web服务器决定支持多少人同时在线的因素
- 数据采集服务提供商,ip提供商 里面有些不错的基础数据
- WPF 三态按钮(PNG贴图)
- zepto学习之路--核心函数$()的实现
- 在阿里云ECS(CentOS6.5)上安装jdk
- BCB F12切换界面 显示异常
- MySQL的InnoDB引擎与MyISAM引擎
- poj3270 &;&; poj 1026(置换问题)
- 20165223《Java程序设计》第九周Java学习总结
- 学习笔记-AngularJs(八)
- 面试:C++输入数据
- string与char*的转换方法
- linux逻辑卷管理 (LVM)(转)
- wpf在image控件上快速显示内存图像
- ASP.NET 页面基本优化.
- 2017秋-软件工程第四次作业(2)-结对使用TDD框架完成单元测试
- noip 模拟赛 After 17(递推+特殊的技巧)