L2-012. 关于堆的判断

时间限制
400 ms

内存限制
65536 kB

代码长度限制
8000 B

判题程序
Standard

作者
陈越

将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:

  • “x is the root”:x是根结点;
  • “x and y are siblings”:x和y是兄弟结点;
  • “x is the parent of y”:x是y的父结点;
  • “x is a child of y”:x是y的一个子结点。

输入格式:

每组测试第1行包含2个正整数N(<= 1000)和M(<= 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。之后M行,每行给出一个命题。题目保证命题中的结点键值都是存在的。

输出格式:

对输入的每个命题,如果其为真,则在一行中输出“T”,否则输出“F”。

输入样例:

5 4
46 23 26 24 10
24 is the root
26 and 23 are siblings
46 is the parent of 23
23 is a child of 10

输出样例:

F
T
F
T

思路:堆排序,字符串处理可以用stringstreamAC代码:
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<vector>
#include<string>
#include<iomanip>
#include<map>
#include<stack>
#include<set>
#include<queue>
#include<sstream>
using namespace std;
#define N_MAX 1000+2
#define INF 0x3f3f3f3f
int n, m;
vector<int>vec;
bool cmp(const int &a,const int &b) {return a > b;
}int main() {while (cin>>n>>m) {vec.clear();for (int i = 0; i < n; i++) { int a; cin >> a; vec.push_back(a); make_heap(vec.begin(), vec.end(), cmp); }getchar();//吸收空格while (m--) {string s; getline(cin, s);stringstream ss(s);if (s[s.size() - 1] == 't') {int a;ss >> a;if (a == vec[0])puts("T");else puts("F");}else if (s[s.size()-1]=='s') {int a, b; string tmp;ss >> a >> tmp >> b;int pos_a = find(vec.begin(), vec.end(), a) - vec.begin()+1;int pos_b = find(vec.begin(), vec.end(), b) - vec.begin()+1;if (pos_a / 2 == pos_b / 2)puts("T");else puts("F");}else {int a, b; string tmp;ss >> a >> tmp >> tmp;int pos_a = find(vec.begin(), vec.end(), a) - vec.begin() + 1;if (tmp[0] == 't') {ss >> tmp >> tmp >> b;int pos_b = find(vec.begin(), vec.end(), b) - vec.begin() + 1;if (pos_b / 2 == pos_a)puts("T");else puts("F");}else {ss >> tmp >> tmp >> b;int pos_b = find(vec.begin(), vec.end(), b) - vec.begin() + 1;if (pos_a / 2 == pos_b)puts("T");else puts("F");}}}}return 0;
}

转载于:https://www.cnblogs.com/ZefengYao/p/8591882.html

pat 团体天梯赛 L2-012. 关于堆的判断相关推荐

  1. 团体程序设计天梯赛-L2组

    团体程序设计天梯赛-L2组 -------------------------------------------------------------------------------- 题目传送门 ...

  2. 【团体天梯赛/PTA】7-34 福到了 (15 分)

    [团体天梯赛/PTA]7-34 福到了 (15 分) "福"字倒着贴,寓意"福到".不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出.这里要处理的每 ...

  3. 团体程序设计天梯赛 L2 题目合集

    前言 发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩.目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目. 本来想 L2 的题目都写个 ...

  4. 【L2-020 功夫传人】天梯赛L2系列详解

    天梯赛L2-020 功夫传人 题目详情: 思路: 这个题目的看着就感觉需要深搜一下,不妨将样例画出来,思路就突然涌来了.很明显的一道深搜的题目: 题目刚开始输入的一行信息整体的信息:宗门人数,祖师爷功 ...

  5. 【L2-022 重排链表】天梯赛L2系列详细解答

    天梯赛L2-022 重排链表 题目详情: 输入样例: 00100 6 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 6823 ...

  6. 【L2-040 哲哲打游戏】天梯赛L2题集

    天梯赛L2-40 题目详情: 思路: 先来一张我自己的手写解析图: (字比较丑,不过呢没有对样例推到完整,这种东西最好自己推一遍哈) 我感觉想清楚这三个问题就很有思路啦: 1.开始地址是什么? 2.如 ...

  7. PTA团体天梯赛汇总

    csdn逐渐成为我的错题本- 题目一: L1-006 连续因子 (20分) 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续 ...

  8. 【L2-019 悄悄关注 】天梯赛L2系列详解

    天梯赛L2-019 悄悄关注 题目详情: 输入样例1: 10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao 8 Magi 50 Pota 30 L ...

  9. 【L2-030 冰岛人】天梯赛L2系列详解

    天梯赛L2-030 冰岛人 题目详情: 思路: 先搞清楚题目要求我们干什么? 直接看输出格式部分,四种情况:异性,同性,有无共同祖先,是否在名单内. 1.判断性别:如果是维京人那么通过性别后缀,否则通 ...

最新文章

  1. docker 限制容器日志大小
  2. TabControl控件用法图解
  3. 超链接href属性_如何使用标签上的HREF属性制作HTML超链接
  4. 前端学习(2260)高校案例
  5. Oracle BI11启动失败
  6. HADOOP:Current usage: 399.9 MB of 1 GB physical memory used; 2.5 GB of 2.1 GB virtual memory used.
  7. 7-4 sdut-求两个整数之和(II)
  8. Golang错误和异常处理的正确姿势
  9. Lambda表达式基础
  10. 传智播客Java引用和数值类型思考
  11. 答复: 关于用异常控制程序流程的看法
  12. 矩阵基础11- 广义逆矩阵及应用
  13. 英文书籍下载常用网站
  14. t450加固态硬盘教程_联想 thinkpad t450s 加装固态硬盘及内存图解
  15. win7电脑无线网变身WiFi热点,让手机、笔记本共享上网
  16. 【1.6万字长文】华为战略管理方法论介绍(含开发战略到执行DSTE、业务领先模型BLM、业务执行力模型BEM、组织绩效和战略解码)
  17. 浙江万里学院计算机期末考,期末复习看这一篇推送就够了
  18. 因计算机丢失d3dx9-30,Win10玩仙剑5提示d3dx9_30.dll文件丢失的解决方法
  19. lua脚本编辑器SciTE设置背景颜色
  20. 旅行照片剪辑--环青海湖篇

热门文章

  1. android的热修复,Android热修复原理
  2. 在linux中500g怎么分区,500G的硬盘,怎么分区比较合理?
  3. docker 搭建nginx php mysql_Docker搭建PHP/Nginx/MySQL/Composer环境
  4. 前端:根据类型获取正则表达式字符串​
  5. SQL Server数据库设置自动备份策略
  6. android xml事件,安卓事件
  7. 视觉测试_视觉设计流行测验
  8. 又一个基于 Esbuild 的神器!esno
  9. 如何制定有价值的目标
  10. 对程序实施精准手术!阿里安全猎户座实验室首创“自动逆向机器人”