传统弱校HFUT的蒟蒻,真相只有一个

BUPT复试专题—中序遍历序列(2013)

题目描述

给出一个序列,判断该序列是不是某二叉搜索树的中序遍历序列,如果是输出"Yes",否则输出"No"。
一颗带权二叉树是一颗二叉搜索树(二叉排序树),当且仅当对于任意一个节点,他的左子树中的所有权值小于当前节点的权值,且它的右子树中的所有权值均大于当前节点的权值。

 
 

输入

 

第一行代表数据组数。

每组数据包括两行:
第一行为一个整数,表示序列的长度。
第二行包含个整数,表示这个这个序列,序列中的数的范围

 

 

 

输出

每组数据,如果是二叉搜索树的中序遍历序列输出"Yes",否则输出"No"。

 
 

样例输入

2
4
1 2 3 4
4
1 3 2 4

样例输出

Yes
No

来源

2013机考C题

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
using namespace std;
int main() 
{
    int T;
    cin>>T;
    while(T--)
    {
        int m,x,y,lable=0;
        cin>>m;
        cin>>x;
        m--;
        while(m--)
        {
            cin>>y;
            if(x>=y)
                lable=1;
            x=y;
        }
        if(!lable)
            cout<<"Yes"<<endl;
        else
            cout<<"No"<<endl;
    }
    return 0;
}

 

posted @ 2018-03-15 23:27  未名亚柳  阅读(221)  评论(0编辑  收藏  举报