012路规律怎么看_双元素集合怎么判断

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个要被


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

堆

题目链接

将一系列给定数字顺序插入一个初始为空的小顶堆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

注意原题要求一个一个的将数字插入堆中
C++代码

#include<bits/stdc++.h>
#define x first
#define y second
#define send string::nops
using namespace std;
typedef long long ll;
const int N = 1e3 + 10;
const int M = 3 * N;
const int INF = 0x3f3f3f3f;
typedef pair<int,int> PII;
int heap[N];
int n,m;
int main(){ 
   
    string query;
    cin>>n>>m;
    int num = 0;
    for(int i = 1;i <= n;i ++){ 
   
        cin>>heap[i];
        int t = i;
        while(t / 2 > 0){ 
   
            if(heap[t] < heap[t / 2])
                swap(heap[t],heap[t / 2]);
            else break;
            t /= 2;
        }
    }
// cin.get();
    int x,y;
    scanf(" ");//清空缓存区
    for(int i = 0;i < m;i ++){ 
   
        cin>>x>>query;
        if(query == "and"){ 
   
            cin>>y;
            int pox1 = FindIndex(x),pox2 = FindIndex(y);
            if(pox1 / 2 == pox2 / 2 && pox1 != -1 && pox2 != -1)cout<<"T"<<endl;
            else cout<<"F"<<endl;
        }
        else{ 
   
            cin>>query;
            if(query == "a"){ 
   
                cin>>query>>query>>y;
                int pox1 = FindIndex(x),pox2 = FindIndex(y);
                if(pox2 == pox1 / 2 && pox1 != -1 && pox2 != -1)cout<<"T"<<endl;
                else cout<<"F"<<endl;
            }
            else{ 
   
                cin>>query;
                if(query == "root"){ 
   
                    int pox = FindIndex(x);
                    if(pox == 1)cout<<"T"<<endl;
                    else cout<<"F"<<endl;
                }
                else{ 
   
                    cin>>query>>y;
                    int pox1 = FindIndex(x),pox2 = FindIndex(y);
                    if(pox2 / 2 == pox1 && pox1 != -1 && pox2 != -1)cout<<"T"<<endl;
                    else cout<<"F"<<endl;
                }
            }
        }
        getline(cin,query);
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169182.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 二叉树的建立及其递归遍历(C语言实现)

    二叉树的建立及其递归遍历(C语言实现)最近在学习数据结构中树的概念,迟迟不得入门,应该是自己的懒惰和没有勤加练习导致的,以后应该多加练习以下是我对二叉树的一些总结内容二叉树的特点有:-每一个节点最多有两棵子树,所以二叉树中不存在度大于2的节点,注意,是最多有两棵,没有也是可以的左子树和右子树是有顺序的,次序不能颠倒,这点可以在哈夫曼编码中体现,顺序不同编码方式不同-即使树中某个节点中只有一个子树的花,也要区分它…

    2022年4月28日
  • FFmpeg源码分析:av_parser_parse2()解析数据包

    FFmpeg源码分析:av_parser_parse2()解析数据包​在FFmpeg的libavcodec模块提供解析数据包和编解码功能。其中,av_parser_parse2()函数用来解析数据包,在使用av_read_frame()读取音视频帧时,会调用到该函数进行数据包解析。关于读取音视频帧的源码分析请查看:av_read_frame()文章。​

    2022年9月2日
  • pytest执行多个用例_pytest如何循环执行用例

    pytest执行多个用例_pytest如何循环执行用例前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

    2022年7月30日
  • 金士顿dt100g3无法读盘_金士顿u盘维修点

    金士顿dt100g3无法读盘_金士顿u盘维修点昨天给微星GT80S装ubuntu时制作U盘ISO镜像时使用工具把u盘给整费了,跟了我3年的u盘呐(相较我以前的U盘质量不知好了多少倍):想当初这种入门级的3.0U盘还是刚出,也不便宜。顺便看看这逆天的电脑,我是头一回见这种笔记本,比台式机都重,还那么大,专门玩游戏的,给我我估计是会买,太逆天了:好了进入正题:解救我的U盘:1.拆:#可以先用一个扁平的工具将前面的滑

    2022年9月10日
  • 什么什么ant(初级会计的职称是什么)

    2019独角兽企业重金招聘Python工程师标准>>>…

    2022年4月16日
  • vue文件下载功能_vue实现下载功能

    vue文件下载功能_vue实现下载功能vue下载文件常用的几种方式一、直接打开直接打开是指我们直接使用window.open(URL)的方法优点:简单操作缺点:没办法携带token二、我们可以自己封装一个方法,比如如下:importaxiosfrom”axios”import*asauthfrom’@/utils/auth.js’letajax=axios.create({baseURL:process.env.VUE_APP_BASE_API,timeout:100000}

    2022年10月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号