H: CBT?

时间限制: 1 s      内存限制: 128 MB      提交 我的状态

题目描述

对于二叉树,如果这棵树的节点排布是按行从上到下,每行从左到右挨个放置,中间不会有空闲的节点。则我们称之为完全二叉树。

注:这棵树的根节点的值一定是1

输入

输入数字正整数n (1≤n≤201≤n≤20)

接下来n行,每行为两个数字(a,b)和一个字符c(L 或者 R),如果字符c是L,则表示b是a的左子节点;如果字符c是R,则表示b是a的右子节点。 (1≤a,b≤30001≤a,b≤3000)

输出

判断这棵树是否为完全二叉树,如果是则输出Yes,否则输出No

样例输入

5

1 2 L

1 3 R

2 4 L

2 5 R

3 6 L

样例输出

Yes

分析:建立一个类型P(u,k),u为该点的值,k用于选择该点的左右子结点;用map储存u点子节点的值,用队列实现从根节点开始往下再往右遍历的过程;通过改变k的值实现同一结点从左儿子到右儿子遍历的过程,左或右儿子不存在则退出循环,若通过遍历的结点数量验证是否为完全二叉树;

#include

#include

#include

#include

#include

using namespace std;

typedef pairM;//用于选择左节点和右结点

int x[3033];

bool vis[3033];//用于寻找根节点

mapp;//用于寻找子节点

queueq;//用于遍历树

int main()

{

int n,y;

char c;

scanf("%d",&n);

M tmp;

for(int i=0;i

scanf("%d%d",&x[i],&y);

cin>>c;

tmp.first=x[i],tmp.second=c;

p[tmp]=y;

vis[y]=1;

}

for(int i=1;i<=n;i++)

if(!vis[x[i]]){

q.push(x[i]);break;//插入根节点

}

int cnt=0;

while(!q.empty()){

tmp.first=q.front();

q.pop();

tmp.second='L';

if(p.find(tmp)!=p.end()){

q.push(p[tmp]);//插入tmp的左儿子

cnt++;

}else{

break;

}

tmp.second='R';

if(p.find(tmp)!=p.end()){

q.push(p[tmp]);//插入tmp的左儿子

cnt++;

}else{

break;

}

}

cnt==n?printf("Yes\n"):printf("No\n");

return 0;

}

Just oj 2018 C语言程序设计竞赛(高级组)D&colon; 四边形面积

D: 四边形面积 时间限制: 1 s      内存限制: 128 MB      提交 我的状态 题目描述 有一个四边形,现在需要求它的面积 输入 输入四行,每行两个数整数xx, yy (1≤x,y ...

Just oj 2018 C语言程序设计竞赛(高级组)F&colon;Star(结构体排序&plus;最小生成树)

F: Star Time Limit: 1 s      Memory Limit: 128 MB Submit My Status Problem Description 31世纪,人类世界的科技已 ...

2018年江西理工大学C语言程序设计竞赛&lpar;高级组&rpar;&Tab; &Tab;三角平方数

题目描述 三角数:形如图a,圆点摆放成等边三角形的数字,则为三角数. (图a) 平方数:形如图b,小方块摆放成正方形的数字,则为平方数. (图b) 那么如果一个数字既是三角形数又是平方数,则称为三角平 ...

Just Oj 2017C语言程序设计竞赛高级组A&colon; 求近似值&lpar;矩阵快速幂)

A: 求近似值 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 求⌊(5–√+6–√)2n⌋⌊(5+6)2n⌋%9932017. 例如:n=1,(5–√+6–√)2( ...

Just Oj 2017C语言程序设计竞赛高级组E&colon; DATE ALIVE(二分匹配)

E: DATE ALIVE 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 五河士道家里的精灵越来越多了,而每一个精灵都想和他有一个约会.然而五河士道却只有一个,无奈 ...

Just Oj 2017C语言程序设计竞赛高级组D&colon; 字符串最大表示(next数组)

D: 字符串最大表示 时间限制: 1 s      内存限制: 128 MB 题目描述 有如下定义,abcnabcn表示字符串abc重复n次,例如abc2abc2表示abcabc. 给定一个字符串,求 ...

2018年江西理工大学C语言程序设计竞赛高级组部分题解

B Interesting paths 考察范围:组合数学 此题是机器人走方格的变种,n*m的网格,从(1,1)走到(n,m),首先可以明确,水平要走m-1格,竖直要走n-1格,则走到目的地的任意一条 ...

2014江西理工大学C语言程序设计竞赛高级组题解

1001 Beautiful Palindrome Number 枚举回文数字前半部分,然后判断该数字是否满足,复杂度为O(sqrt(n))! 1002 Recovery Sequence  本题的核 ...

2017年江西理工大学C语言程序设计竞赛&lpar;高级组&rpar;

问题 A: 求近似值 #include #include #include using namespac ...

随机推荐

linux 的iptables防火墙

.a文件就是*.o文件的集合, 是object文件的归档文件, 所以, 用nm -A  ???.a看到的 symbolic符合名称都是 相应的,  包含的  .o文件.... linux 2.4内核中 ...

Ehcache&lpar;2&period;9&period;x&rpar; - API Developer Guide&comma; Cache Exception Handlers

About Exception Handlers By default, most cache operations will propagate a runtime CacheException o ...

Spring&plus;SpringMVC&plus;MyBatis深入学习及搭建&lpar;十二&rpar;——SpringMVC入门程序

转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)--S ...

Windows下基于ADS&plus;J-Link 的ARM开发环境搭建

在一般ARM编程教学和实验环境里,一般采用 ADS加+并口转Jtag板+H-Jtag的开发环境.但是这种方法最大缺点是需要机器上有一个并口.现在无论PC还是笔记本都很难有并口,因此采用USB接口调试器 ...

Hive 导入 parquet 格式数据

Hive 导入 parquet 数据步骤如下: 查看 parquet 文件的格式 构造建表语句 倒入数据 一.查看 parquet 内容和结构 下载地址 社区工具 GitHub 地址 命令 查看结构: ...

c&sol;c&plus;&plus; 重载运算符 关系,下标,递增减,成员访问的重载

重载运算符 关系,下标,递增减,成员访问的重载 为了演示关系,下标,递增减,成员访问的重载,创建了下面2个类. 1,类StrBlob重载了关系,下标运算符 2,类StrBlobPtr重载了递增,抵减, ...

和初学者交流学习java语言一些体会。

对初学者,自己学习java语言的一些体会: 1.工欲善其事,必先利其器.先把Java学习工具准备好,包括集成开发环境IDE,自己觉得MyEclipse比较适合,还有数据库,Oracle或MySQL,S ...

接口工具之postman

在我们日常开发中,经常会对功能接口进行相应的测试.那么postman是一款不错的测试工具,因为平常使用的比较多,因此在这里简单记录一下,经常使用到的一些地方 简单的使用就不错介绍了, 基本流程: 新建 ...

c语言oj竞选投票,Just oj 2018 C语言程序设计竞赛(高级组)H: CBT?相关推荐

  1. 字节跳动杯2018中国大学生程序设计竞赛-女生专场题解

    以下所有AC题解程序来自"仙客传奇"团队. A. 口算训练 题解链接: ABDFHK "字节跳动杯"2018中国大学生程序设计竞赛-女生专场 B. 缺失的数据范 ...

  2. 2018中国大学生程序设计竞赛-网络选拔赛题解

    以下所有AC题解程序来自"仙客传奇"团队. A. Buy and Resell AC的C++语言程序: #include<iostream> #include<c ...

  3. c语言源代码下载TGAM,2018年江西理工大学C语言程序设计竞赛(初级组)一

    C语言中保留3位小数用%.3lf   用法:printf("%.3lf",result) 四边形分凸凹四边形. aaarticlea/png;base64,iVBORw0KGgoA ...

  4. 浙江中医药大学2018级新生程序设计竞赛题解

    [...] 网上代码比较多我就尽量不挂了,简单讲下思路吧. oj : acm.zcmu.edu.cn [Problem A: 画正方形] 签到题,注意下输出格式(组与组之间有且仅有一个空行)就行. 至 ...

  5. 2018年湘潭大学程序设计竞赛G又见斐波那契

    链接:https://www.nowcoder.com/acm/contest/105/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  6. 启元世界获 NeurIPS 2018 多智能体竞赛Learning组冠军,决策智能平台价值凸显...

    雷锋网(公众号:雷锋网) AI 科技评论按:近日,国际人工智能顶级学术会议 NeurIPS 2018 顺利落幕.八千多位来自全世界的人工智能研究人员齐聚加拿大蒙特利尔,讨论分享过去一年全世界在人工智能 ...

  7. 2018湖北省大学程序设计竞赛 D. Who killed Cock Robin

    链接:https://www.nowcoder.com/acm/contest/104/C Who killed Cock Robin? I, said the Sparrow, With my bo ...

  8. 2018华南理工大学程序设计竞赛 H-对称与反对称

    H-对称与反对称 题目描述 给出一个N*N的方阵A.构造方阵B,C: 使得A = B + C.其中 B为对称矩阵,C为反对称矩阵. 对于方阵S中的任意元素,若(S)ij = (S)ji,则称S为对称矩 ...

  9. Buy and Resell 2018中国大学生程序设计竞赛 - 网络选拔赛

    题目 题意: n个宝石,宝石的买入或卖出价格固定,一天只能到一个珠宝商店(从左到右),问最大利润是多少?在保证最大利润的同时最少交换次数是多少? 题解: 题目有两问:一个是求利润,一个是求次数 利润就 ...

最新文章

  1. 华为与思科VRRP协议
  2. bean的scope
  3. MySQL执行外部sql脚本文件的命令
  4. 【Matplotlib】 标注一些点
  5. getchwd() 函数返回当前工作目录。
  6. linux下kafka安装与配置
  7. Ubuntu 16.04中zabbix4.2设置中文显示
  8. vue+three.js开发
  9. keras可视化模型
  10. 《计算机网络 自顶向下方法》(第7版)答案(第九章)
  11. 图像处理中的二阶矩矩阵(结构张量)
  12. 深入浅出JavaScript(1)—ECMAScript
  13. 自定义android tv播放器,具有可自定义实时广播源的Android TV手机播放器
  14. HDU 5713 状压dp
  15. java字面量和符号引用
  16. 如何用adsense赚钱_我的实操经验分享:如何通过 Adsense 赚3万美金
  17. 微信应用号 +QQ娱乐社交 腾讯能否独步天下?
  18. python实现二叉树非递归前中后序遍历
  19. java使用ftp下载文件到本地(只是下载)
  20. 八数码问题的广度优先搜索方法

热门文章

  1. idea直连服务器工具RemoteHost配置全过程详解,idea执行ssh命令神器
  2. xorm框架连接mysql实现crud
  3. 分享卡通儿童中小学班干竞选PPT模板
  4. 机器学习_XGB模型训练内存溢出解决方案
  5. 时间复杂度和空间复杂度 详谈
  6. 图灵测试,测的到底是什么?
  7. 技术面试与HR谈薪资技巧
  8. 用户调研方法之焦点小组
  9. 【PMP】工具与技术:专家判断、头脑风暴、焦点小组、访谈的理解
  10. 电子元器件失效原因有哪些?