PAT1043 Is It a Binary Search Tree 水题
来源:互联网 发布:teradata数据库语法 编辑:程序博客网 时间:2024/06/05 17:01
#include<algorithm>#include<cstdio>#include<iostream>#include<vector>#include<queue>#include<map>#include<string>#include<cstring>#include<stack>#define N 100005#define ll long long#define pb push_back#define eps 1e-9using namespace std;int cnt,ok;int a[N];struct node{int data,ls,rs;}tree[N];int build(int l,int r,int s){if(l>r)return -1;int i = l+1,j;if(!s){while(a[i]<a[l]&&i<=r)i++;for(j = i;j<=r;j++)if(a[j]<a[l]){ok = 0;return 0;}}else {while(a[i]>=a[l]&&i<=r)i++;for(j = i;j<=r;j++)if(a[j]>=a[l]){ok = 0;return 0;}}int id = ++cnt;tree[id].data = a[l];tree[id].ls = build(l+1,i-1,s);tree[id].rs = build(i,r,s);return id;}void dfs(int rt){if(rt == -1)return;dfs(tree[rt].ls);dfs(tree[rt].rs);if(rt == 1)printf("%d\n",tree[rt].data);else printf("%d ",tree[rt].data);}int main(){int n,i,j;while(scanf("%d",&n)!=EOF){cnt = 0;ok = 1;for(i = 1;i<=n;i++)scanf("%d",&a[i]);build(1,n,0);if(!ok){ok = 1;build(1,n,1);}if(!ok)printf("NO\n");else {printf("YES\n");dfs(1);}}return 0;}
0 0
- PAT1043 Is It a Binary Search Tree 水题
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043.Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- 1043. Is It a Binary Search Tree
- Is It a Binary Search Tree (25)
- PAT_1043. Is It a Binary Search Tree
- PAT A 1043. Is It a Binary Search Tree (25)
- PAT-A-1043. Is It a Binary Search Tree (25)
- pat-a 1043. Is It a Binary Search Tree (25)
- operator const char*() const
- 在Eclipse中,新建maven项目碰到的问题
- 链表的相交与环问题
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- Unity3D性能优化总结
- PAT1043 Is It a Binary Search Tree 水题
- 内存池
- jQuery Ajax提交表单
- magento 模块开发:在后台新增TOP栏项目
- tomcat 初步
- iPhone emoji问题牵出的Unicode代理区的思考
- HTTP状态码
- flex基础
- 为什么谷歌要执行严格的代码编写规范