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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 交叉验证方法汇总【附代码】(留一法、K折交叉验证、分层交叉验证、对抗验证、时间序列交叉验证)

    交叉验证方法汇总【附代码】(留一法、K折交叉验证、分层交叉验证、对抗验证、时间序列交叉验证)交叉验证是什么?在模型建立中,通常有两个数据集:训练集(train)和测试集(test)。训练集用来训练模型;测试集是完全不参与训练的数据,仅仅用来观测测试效果的数据。一般情况下,训练的结果对于训练集的拟合程度通常还是挺好的,但是在测试集总的表现却可能不行。比如下面的例子:图一的模型是一条线型方程。可以看到,所有的红点都不在蓝线上,所以导致了错误率很高,这是典型的不拟合的情况图二的蓝线则更加贴近实际的红点,虽然没有完全重合,但是可以看出模型表示的关系是正确的。图三,所有点都在蓝线上,这时候

    2025年7月14日
    4
  • CentOS7中添加环境变量后立即生效,但是重启服务器又失效「建议收藏」

    CentOS7中添加环境变量后立即生效,但是重启服务器又失效

    2022年2月16日
    182
  • tracert跟踪路由命令_怎么进行路由跟踪

    tracert跟踪路由命令_怎么进行路由跟踪Tracert是Windows路由跟踪程序,在cmd中使用,用于确定IP数据包访问目标所采取的路径。Tracert命令使用用IP生存时间(TTL)字段和ICMP错误消息来确定从一个主机

    2022年8月5日
    11
  • Maven 菜鸟教程 2 项目目录结构

    Maven 菜鸟教程 2 项目目录结构目录结构说明src/main/javaapplicationlibrarysources-java源代码文件,会自动编译到classes文件夹下src/main/resourcesapplicationlibraryresources-资源库,会自动编译到classes文件夹下src/main/filtersresources

    2025年9月16日
    5
  • Scala跳出循环的三种方法

    Scala跳出循环的三种方法Scala跳出循环的三种方法1、基于boolean类型的控制变量while循环:varflag=truevarres=0varn=0while(flag){ res+=n n+=1 if(n==5){   flag=false }}for循环:(高级for循环,加上了if守卫)

    2022年6月4日
    130
  • python能开发arm_获得通用技能的方法

    python能开发arm_获得通用技能的方法看了很多资料介绍如何将python移植到嵌入式设备当中,但总感觉杂乱五章,还移植不成功,但是经过我的多方摸索,成功的探索出了一条阳光大道,供各位网友借鉴参考。我采用的方法可以成功移植python2.7以后的所有版本。第一步:从官网下载源码.并把解压放在/opt第二步:在/Python-3.4.5目录下新建一键移植脚本,并执行内容如下:(执行完会报错某某模块内没安装,这个不耽误,…

    2022年10月10日
    4

发表回复

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

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