3435:【2024年5月】6级算法等考第1题 验证二叉搜索树
文件提交:无需freopen
内存限制:256 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
1
提交:6
解决:0
题目描述
## Description
提示信息:
二叉搜索树,是指一棵空树或者具有下列性质的二叉树:
1.若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
2.若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;
3.任意节点的左、右子树也分别为二叉搜索树。
题目描述
给定包含n个节点的二叉树,节点编号从1到n,其中根节点为1号,且所有节点的值均不相同,请判断其是否是二叉搜索树,如果是,则按照后序遍历的顺序输出所有节点的值,否则,输出"No"。
## Output Format
第一行,一个整数n,表示二叉树的节点数量;
第二行包含n个不同的整数v1,v2,v3...vn,分别表示1号到n号节点的值,整数之间以一个空格隔开。
接下来n行,每行包含3个整数x,y,z,分别表示二叉树中每个节点编号,及其对应的左子节点和右子节点的编号(0表示对应子节点为空),整数之间以一个空格隔开。
数据范围
测试点1~10:1≤n≤1000,1≤x,y,z≤n,1≤v¡≤5000。
```input1
6
50 32 78 47 54 80
1 2 3
2 0 4
3 5 6
4 0 0
5 0 0
6 0 0
```
```output1
47 32 54 80 78 50
```
```input2
3
10 5 15
1 3 2
2 0 0
3 0 0
```
```output2
No
```
## Hint
如果输入的二叉树是二叉搜索树,则输出为一行整数,表示按照后序遍历顺序输出所有节点的值,整数之间以一个空格隔开;否则输出"No"。