pat 团体天梯赛 L2-012. 关于堆的判断
L2-012. 关于堆的判断
将一系列给定数字顺序插入一个初始为空的小顶堆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 思路:堆排序,字符串处理可以用stringstream
AC代码:
#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 = ; 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() - ] == 't') {
int a;
ss >> a;
if (a == vec[])puts("T");
else puts("F");
}
else if (s[s.size()-]=='s') {
int a, b; string tmp;
ss >> a >> tmp >> b;
int pos_a = find(vec.begin(), vec.end(), a) - vec.begin()+;
int pos_b = find(vec.begin(), vec.end(), b) - vec.begin()+;
if (pos_a / == pos_b / )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() + ;
if (tmp[] == 't') {
ss >> tmp >> tmp >> b;
int pos_b = find(vec.begin(), vec.end(), b) - vec.begin() + ;
if (pos_b / == pos_a)puts("T");
else puts("F");
}
else {
ss >> tmp >> tmp >> b;
int pos_b = find(vec.begin(), vec.end(), b) - vec.begin() + ;
if (pos_a / == pos_b)puts("T");
else puts("F");
} }
}
}
return ;
}
pat 团体天梯赛 L2-012. 关于堆的判断的更多相关文章
- pat 团体天梯赛 L3-007. 天梯地图
		
L3-007. 天梯地图 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校 ...
 - pat 团体天梯赛 L3-015. 球队“食物链”
		
L3-015. 球队“食物链” 时间限制 1000 ms 内存限制 262144 kB 代码长度限制 8000 B 判题程序 Standard 作者 李文新(北京大学) 某国的足球联赛中有N支参赛球队 ...
 - pat  团体天梯赛 L1-039. 古风排版
		
L1-039. 古风排版 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 中国的古人写文字,是从右向左竖向排版的.本题就请你编写 ...
 - pat 团体天梯赛 L3-010. 是否完全二叉搜索树
		
L3-010. 是否完全二叉搜索树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的二叉搜 ...
 - pat 团体天梯赛 L3-009. 长城
		
L3-009. 长城 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 邓俊辉(清华大学) 正如我们所知,中国古代长城的建造是为了抵御外 ...
 - pat 团体天梯赛 L2-011. 玩转二叉树
		
L2-011. 玩转二叉树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜 ...
 - pat 团体天梯赛 L2-010. 排座位
		
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...
 - pat 团体天梯赛 L2-007. 家庭房产
		
L2-007. 家庭房产 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产 ...
 - pat 团体天梯赛 L2-006. 树的遍历
		
L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历 ...
 
随机推荐
- java Html&JavaScript面试题:用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。
			
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
 - 微信小程序text标签
			
最近在做小程序,使用<text>标签的时候发现里面的文本text-family不生效, 经过试验,发现直接在text标签的class设置不生效,可以在外层包一个父元素就可以设置了. < ...
 - GNU C中__attribute__
			
__attribute__基本介绍: 1. __attribute__ 可以设置函数属性.变量属性和类型属性. 2. __attribute__ 语法格式为:__attribute__ ((attri ...
 - 1048: [HAOI2007]分割矩阵
			
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1184 Solved: 863[Submit][Status][Discuss] Descripti ...
 - 安装配置eclipse的图文步骤
			
装eclipse 之前要确定自己是否已经安装了java开发环境JDK,JDK的版本64位要下载Eclipse版本64位:JDK32位,要下载Eclipse32位. 一.去eclipse官网下载ecli ...
 - 第7章 数据库访问与ORM 慕课网微信小程序开发学习笔记
			
第7章 数据库访问与ORM https://coding.imooc.com/learn/list/97.html 目录: 7-1 数据库操作三种方式之原生SQL 19:09 7-2 从一个错误了解E ...
 - 关于spark入门报错 java.io.FileNotFoundException: File file:/home/dummy/spark_log/file1.txt does not exist
			
不想看废话的可以直接拉到最底看总结 废话开始: master: master主机存在文件,却报 执行spark-shell语句: ./spark-shell --master spark://ma ...
 - cookie注意事项
			
cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式. 四种会话跟踪技术(URL重写.隐藏表单域.Cookie.Session) 服务端技术:URL重写,Session, ...
 - APK无源码使用Robotium简单总结
			
1.使用re-sign.jar对待测包进行重签名,并记录下包名和主Activity名. 2.在Eclipse中点击File-New-Other 选择Android下的Android Test Proj ...
 - Leetcode 521.最长特殊序列I
			
最长特殊序列 I 给定两个字符串,你需要从这两个字符串中找出最长的特殊序列.最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列). 子序列可以通过删去字符串中的某些字符 ...