#include<bits/stdc++.h>

using namespace std;
typedef struct node;
typedef node *tree;
struct node
{
int data;
tree L,R;
};
void Insert(tree &bt,int x)
{
if(bt==NULL){
bt=new node;
bt->data=x;
bt->L=NULL;
bt->R=NULL;
return;
}
if(x<bt->data) Insert(bt->L,x);
else Insert(bt->R,x);
}
vector<int>pre1,pre2,post1,post2;
void preorder1(tree bt,vector<int>&p)
{
if(bt){
p.push_back(bt->data);
preorder1(bt->L,p);
preorder1(bt->R,p);
}
}
void preorder2(tree bt,vector<int>&p)
{
if(bt){
p.push_back(bt->data);
preorder2(bt->R,p);
preorder2(bt->L,p); }
} void postorder1(tree bt,vector<int>&p)
{
if(bt){
postorder1(bt->L,p);
postorder1(bt->R,p);
p.push_back(bt->data);
}
} void postorder2(tree bt,vector<int>&p)
{
if(bt){
postorder2(bt->R,p);
postorder2(bt->L,p);
p.push_back(bt->data);
}
}
int main()
{
int n;
scanf("%d",&n);
tree bt;
bt=NULL;
vector<int>tt;
for(int i=;i<n;i++){
int x;
scanf("%d",&x);
tt.push_back(x);
Insert(bt,x);
}
preorder1(bt,pre1);
preorder2(bt,pre2);
postorder1(bt,post1);
postorder2(bt,post2);
if(tt==pre1){
puts("YES");
for(int i=;i<post1.size();i++){
if(i) printf(" ");
printf("%d",post1[i]);
}
}
else if(tt==pre2){
puts("YES");
for(int i=;i<post2.size();i++){
if(i) printf(" ");
printf("%d",post2[i]);
}
}
else{
puts("NO");
}
return ;
}

最新文章

  1. Java 并发和多线程(三) 多线程的代价 [转]
  2. node相关的精典材料
  3. 通过批处理(bat)命令创建mysql数据库及用户等
  4. UML图示与代码对照
  5. 大型网站用什么技术比较好,JSP,PHP,ASP.NET
  6. NDK开发之获得域和方法描述符
  7. Page.ClientScript.RegisterStartupScript不执行问题
  8. ADT 连接手机运行android应用程序时报错
  9. mysql快速翻页查询方法
  10. 在IDEA中实战Git(转载自)
  11. django中数据库操作——in操作符
  12. 移动前端的html5 head 头标签
  13. Yii2 mongoDb的配置及使用
  14. nmap扫描出现tcpwrapped
  15. #Python学习#python虚拟环境——virtualenv
  16. SpagoBI 论坛
  17. RobotFramework自动化4-批量操作案例
  18. SQLServer中数据加密方法
  19. 【尺取法好题】POJ2566-Bound Found
  20. Python to list users in AWS

热门文章

  1. AJAX(二):HTTP头部信息
  2. Ubuntu 18.04 一键安装深度截图工具 Deepin Screenshot
  3. CSS 负边距读后感
  4. 在centos7云服务器上搭建Apache服务器并访问到你的网站
  5. vue本人常用插件汇总(常更新)
  6. 关于移动端video标签层级问题
  7. PHP CI框架学习
  8. 浏览器进程/线程模型及JS运行机制
  9. python flask豆瓣微信小程序案例
  10. C语言数组篇(二)指针数组和数组指针