hdu 5444 Elven Postman
2015-09-16 21:10
393 查看
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5444
直接用二叉树模拟即可。。
直接用二叉树模拟即可。。
[code]#include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<vector> #include<set> using std::set; using std::sort; using std::pair; using std::swap; using std::multiset; #define pb(e) push_back(e) #define sz(c) (int)(c).size() #define mp(a, b) make_pair(a, b) #define all(c) (c).begin(), (c).end() #define iter(c) decltype((c).begin()) #define cls(arr, val) memset(arr, val, sizeof(arr)) #define cpresent(c, e) (find(all(c), (e)) != (c).end()) #define rep(i, n) for(int i = 0; i < (int)n; i++) #define tr(c, i) for(iter(c) i = (c).begin(); i != (c).end(); ++i) const int N = 1010; const int INF = ~0u >> 1; typedef unsigned long long ull; struct Node { int v; Node *ch[2]; inline void set(int dat, Node *p) { v = dat, ch[0] = ch[1] = p; } }; struct BST { Node *root, *tail, *null, stack ; inline void init() { tail = &stack[0]; null = tail++; null->set(INF, NULL); root = null; } inline Node *newNode(int dat) { Node *p = tail++; p->set(dat, null); return p; } inline void insert(Node *&x, int dat) { if (x == null) { x = newNode(dat); return; } insert(x->ch[dat > x->v], dat); } inline void insert(int dat) { insert(root, dat); } inline void find(int dat) { Node *x = root; while (x->v != dat) { if (dat < x->v) { putchar('E'); x = x->ch[0]; } else { putchar('W'); x = x->ch[1]; } } putchar('\n'); } }go; int main() { #ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w+", stdout); #endif int t, n, v, q; scanf("%d", &t); while (t--) { go.init(); scanf("%d", &n); rep(i, n) { scanf("%d", &v); go.insert(v); } scanf("%d", &q); while (q--) { scanf("%d", &v); go.find(v); } } return 0; }
相关文章推荐
- MFC中多个子菜单对应同一个消息响应函数
- Leetcode: 第四题 Median of Two Sorted Arrays
- ios开发-新浪微博10-(下拉菜单的二次封装 完整版)
- poj 3087 Shuffle'm Up (kuangbin带你飞--简单搜索)
- 设计模式初学者笔记:Factory Method模式
- PHP中文乱码的常见解决方法总结
- RILD QCRIL的关系
- ImageDownLoaderAndKVO
- SSH-Struts(两)—调节器(ActionServlet)
- 【待】1.4 Write a method to replace all spaces in a string with'%20'.
- hdu 4540 威威猫系列故事——打地鼠
- Java中的“别名现象”
- 域名那些事儿
- Oracle学习之常见问题处理
- hdu 5446
- 从评教移动端分析MVC
- 关于cocos2d-js中使用 ClippingNode 以及 BlendFunc 来实现遮罩
- matlab中简单的图像旋转算法
- 获取Mac地址
- Android自定义View之三种流行进度条的写法