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"。