【CodeVS4244】平衡树练习
2016-05-07 11:07
281 查看
Description
判断一些数字在一个数列中是否存在。Input
第一行输入两个正整数m和n。第二行m个数字表示这个数列。
第三行n个数字表示需要判断的数字。
Output
输出共一行n个0或1,0表示这个数字不存在,1表示存在。Sample Input
2 22 4
2 5
Sample Output
1 0HINT
输入数字保证不超过MaxInt。有节操的人不用set
题解
二叉排序树可以A#include<iostream> #include<cstdio> #define N 1000000 using namespace std; struct tree { int lch,rch; int val; }t ; int topt = 0; void add_tree(int &now,int val) { if (!now) { now = ++topt; t[now].val = val; return ; } if (val<t[now].val) add_tree(t[now].lch,val); else add_tree(t[now].rch,val); } bool find(int now,int val) { if (!now) return false; //先判断这个 if (val == t[now].val) return true; if (val < t[now].val) return find(t[now].lch,val); else return find(t[now].rch,val); } int main() { int n,m,val,root=0; scanf("%d%d",&m,&n); printf("\n"); for (int i=1;i<=m;i++) { scanf("%d",&val); add_tree(root,val); } for (int i=1;i<=n;i++) { scanf("%d",&val); printf("%d ",find(root,val)); } }
相关文章推荐
- 重新学javaweb ---- DbUtils
- AWK命令详解
- Max Sequence
- AOJ 0121:Seven Puzzle(bfs)
- 零基础学python》(第二版)
- 杀僵尸进程备忘
- unity 控制移动的方法
- 在糖尿病患者信息管理系统中,导入病人信息功能!
- 我的第二个springboot项目 web+freemarker
- Android之Matrix的用法
- iOS IPv6-only
- ZooKeeper分布式过程协同技术详解
- java 中对对象的调用
- java输入输出
- 框架的选择
- 面试题小结二
- 选择c++还是java,程序员如何提高研发技术?
- deep learning 练习 多变量线性回归
- 深入解析Backbone.js框架的依赖库Underscore.js的作用
- android之各种图形绘制