HDU3791-二叉搜索树
来源:互联网 发布:淘宝手机详情页装修 编辑:程序博客网 时间:2024/05/21 00:21
二叉搜索树
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 86 Accepted Submission(s) : 46
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
判断两序列是否为同一二叉搜索树序列
Input
开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。
接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。
接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。
接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。
接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。
Output
如果序列相同则输出YES,否则输出NO
Sample Input
25674325432675763420
Sample Output
YESNO
#include <iostream>#include <string.h>#include <stdio.h>using namespace std;int main(){ int i,j,t; char s[22]; int tree[1111]; int tree1[1111]; while(scanf("%d",&t)) { if(t==0) break; scanf("%s",s); memset(tree,-1,sizeof(tree)); for(i=0; i<strlen(s); i++) { int c=s[i]-'0'; j=1; while(tree[j]!=-1) { if(c<=tree[j]) j=j*2; else j=j*2+1; } tree[j]=c; } while(t--) { scanf("%s",s); memset(tree1,-1,sizeof(tree1)); for(i=0; i<strlen(s); i++) { int c=s[i]-'0'; j=1; while(tree1[j]!=-1) { if(c<=tree1[j]) j=j*2; else j=j*2+1; } tree1[j]=c; } for(i=1;i<=1024;i++) if(tree1[i]!=tree[i]) break; if(i>1024) printf("YES\n"); else printf("NO\n"); } }}
0 0
- hdu3791二叉搜索树
- HDU3791:二叉搜索树
- hdu3791 二叉搜索树
- hdu3791 二叉搜索树
- HDU3791 二叉搜索树
- HDU3791-二叉搜索树
- 二叉搜索树hdu3791
- hdu3791--二叉搜索树
- 【二叉搜索数】HDU3791二叉搜索树
- Hdu3791 - 二叉搜索树 - 二叉树
- hdu3791(二叉搜索树构造)
- HDU3791 二叉搜索树(构建二叉搜索树模板)
- 首道二叉树 HDU3791:二叉搜索树
- hdu3791 二叉搜索树(BST的建立)
- 二叉排序树:HDU3791-二叉搜索树(用指针建立二叉排序树)
- 浙大计算机研究生复试上机考试(2010)——二叉搜索树(hdu3791)
- HDU3791
- HDU3791
- hdu5445(两次多重背包)
- [BZOJ1003][ZJOI2006]物流运输(最短路+dp)
- onTouchEvent--触摸事件案例
- 第十一周项目—阅读程序,说出在测试函数中不同情况的调用产生的结果(5 d)
- 记一次xtrabackup工具恢复后mysqld_safe启动问题
- HDU3791-二叉搜索树
- 替换字符串中的空格4
- 慕课网二次学习(一)
- MyBatis和Hibernate相比,优势在哪里?
- Image Retrieval paper list of Liang Zheng
- Java多线程编程(一):创建并运行Java线程
- hdu 3017 Treasure Division 折半枚举 + 双指针
- UINavigationBar 设置透明 和去掉返回按钮
- Java文件流 字节流和字符流