PAT L3-016:二叉搜索树的结构(暴力)
https://www.patest.cn/contests/gplt/L3-016
题意:中文。
思路:暴力构造,暴力查询就好了。只不过操作很多,很麻烦。比赛的时候再给我10分钟就打完了,手速太慢好可惜。
#include <bits/stdc++.h>
using namespace std;
#define N 100010
typedef long long LL;
struct Node {
int num;
Node *l, *r, *fa;
Node (int n) {
l = r = fa = NULL;
num = n;
}
} ;
Node *root;
int flag, d;
char s[][]; void Insert(Node *now, Node *f, int x, int kind) {
if(now == NULL) {
now = new Node(x);
now->fa = f;
if(kind) f->r = now;
else f->l = now;
return ;
}
if(x > now->num) Insert(now->r, now, x, );
else Insert(now->l, now, x, );
} Node *Find(int x) {
Node *now = root; d = ;
while(now != NULL && now->num != x) {
if(x > now->num) now = now->r;
else now = now->l;
d++;
}
return now;
} void Solve1(int x) {
if(root && root->num == x) flag = ;
} void Solve2(int x, int y) {
Node *now1 = Find(x), *now2 = Find(y);
if(now1 && now2 && now1->fa == now2->fa) flag = ;
} void Solve3(int x, int y) {
Node *now = Find(y);
if(now && now->fa && now->fa->num == x) flag = ;
} void Solve4(int x, int y) {
Node *now = Find(y);
if(now && now->l && now->l->num == x) flag = ;
} void Solve5(int x, int y) {
Node *now = Find(y);
if(now && now->r && now->r->num == x) flag = ;
} void Solve6(int x, int y) {
Node *now1 = Find(x);
int d1 = d;
Node *now2 = Find(y);
int d2 = d;
if(now1 && now2 && d1 == d2) flag = ;
} int main() {
int n, a, b; scanf("%d", &n);
if(n) scanf("%d", &a), root = new Node(a);
for(int i = ; i < n; i++) scanf("%d", &a), Insert(root, NULL, a, );
int q; scanf("%d", &q);
while(q--) {
flag = ;
scanf("%d", &a);
scanf("%s", s[]);
if(s[][] == 'a') {
scanf("%d", &b);
scanf("%s %s", s[], s[]);
if(s[][] == 's') {
Solve2(a, b);
} else {
Solve6(a, b);
scanf("%s %s %s", s[], s[], s[]);
}
} else {
scanf("%s %s", s[], s[]);
if(s[][] == 'o') {
Solve1(a);
} else if(s[][] == 'a') {
scanf("%s %d", s[], &b), Solve3(a, b);
} else if(s[][] == 'e') {
scanf("%s %s %d", s[], s[], &b), Solve4(a, b);
} else {
scanf("%s %s %d", s[], s[], &b), Solve5(a, b);
}
}
if(flag) puts("Yes");
else puts("No");
}
return ;
}
PAT L3-016:二叉搜索树的结构(暴力)的更多相关文章
- PTA 7-2 二叉搜索树的结构(30 分)
7-2 二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大 ...
- 二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历
二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历 二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则 ...
- 二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历
二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根 ...
- 【开200数组解决二叉搜索树的建立、遍历】PAT-L3-016. 二叉搜索树的结构——不用链表来搞定二叉搜索树
L3-016. 二叉搜索树的结构 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它 ...
- PAT L3-016 二叉搜索树的结构
https://pintia.cn/problem-sets/994805046380707840/problems/994805047903240192 二叉搜索树或者是一棵空树,或者是具有下列性质 ...
- L3-1 二叉搜索树的结构 (30 分)
讲解的很不错的链接:https://blog.csdn.net/chudongfang2015/article/details/79446477#commentBox 题目链接:https://pin ...
- L3-016 二叉搜索树的结构 (30 分) 二叉树
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别 ...
- L3-016. 二叉搜索树的结构
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别 ...
- L3-016 二叉搜索树的结构 (30 分)
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别 ...
随机推荐
- UVE开发环境搭建及项目启动
1.IDE安装visual studio code ,略: 2.node安装(node-v10.5.0-win-x64.zip),解压即可: 3.配置node环境变量,cmd 输入node -v.np ...
- MIT墙上的格言(如果你把任务留到最后一分钟,那么你一定能在一分钟内完成任务)
1,永远不能忘记傅立叶变换. Never far no can forget Fuliye changer. 2,盲目的研究者就像法拉第和麦克斯韦之间的电学家一样无所适从. Blind Eye's r ...
- WPF 遍历DataTemplate(获取所有控件)
原文:WPF 遍历DataTemplate(获取所有控件) 情况1:在设定DataTemplate的Name,并且他是在前台表示时,获取DataTemplate里的指定控件. 方法: http://b ...
- javascript控制rem字体大小
摘要:在写响应式H5页面的时候,我常常会用rem字体,为了兼容多个分辨率的设备,需要写多个@media标签,太麻烦并且不够精致,尤其是移动端的页面往往达不到我想要的效果,后来就用js替代了css的@m ...
- Image Caption论文合辑2
说明: 这个合辑里面的论文不全是Image Caption, 但大多和Image Caption相关, 同时还有一些Workshop论文. Guiding Long-Short Term Memory ...
- 使用scratchbox2建立交叉编译环境
使用scratchbox2建立交叉编译环境,使交叉编译不再烦人..... os:ubuntu 12.04.4 x64 1. 安装相关工具sudo apt-get install debootstrap ...
- 批处理(bat)实现SQLServer数据库备份与还原
原文:批处理(bat)实现SQLServer数据库备份与还原 备份数据库.bat @echo off set path=%path%;C:\Program Files (x86)\Microsoft ...
- 【备忘】C#语言基础-2
泛型 CollectionClass<ItemClass> items = new CollectionClass<ItemClass>(); items.Add(new It ...
- Win32 Application基本框架
//程序入口 intAPIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdSh ...
- 年度调查 看看 2016 年 Go 语言调查结果
Go 语言官方博客公布了 2016 年 Go 语言使用调查. 在 3,595 名被调查者中,89% 称他们在工作中或工作之外用 Go 编程:63% 称他们的工作是 Web 开发,但只有 9% 的人只从 ...