ZJCTF2019EasyHeap
时间: 2023-05-27 08:06:53 浏览: 58
题目描述
请使用C++实现一个简单的堆,完成以下操作:
1.插入一个元素
2.删除堆顶元素
3.输出堆中元素的个数
4.输出堆中所有元素
堆的定义:
1.堆是一棵完全二叉树;
2.堆中每个节点的值都大于等于其左右子节点的值;
3.堆顶元素是堆中的最大值。
输入格式
第一行输入一个整数T,代表数据组数。
对于每组数据,第一行输入一个整数n,代表操作次数。
接下来n行,每行输入一个操作,格式如下:
insert x:表示插入一个元素x;
delete:表示删除堆顶元素;
size:表示输出堆中元素的个数;
show:表示输出堆中所有元素。
输出格式
对于每组数据,输出一行,表示操作结果。
样例输入
2
5
insert 1
insert 2
insert 3
size
show
5
insert 5
delete
size
show
样例输出
3
3 2 1
2
5 1
数据范围
1≤T≤5
1≤n≤10000
0≤x≤10000
C++ 代码
相关问题
[ZJCTF 2019]NiZhuanSiWe
[ZJCTF 2019]NiZhuanSiWe是一个加密过的字符串。根据提供的信息,我们可以得知这个字符串是通过对Flag类进行序列化得到的。Flag类是一个包含一个公共属性file和一个魔术方法__tostring()的类。当file属性被设置时,__tostring()方法会读取该文件并返回其内容。在序列化Flag类之后,得到的字符串就是[ZJCTF 2019]NiZhuanSiWe。
[ZJCTF 2019]NiZhuanSiWei
[ZJCTF 2019]NiZhuanSiWei是一道CTF比赛的题目,具体解题过程包括序列化与反序列化练习,以及使用POC、EXP、Payload与Shellcode。引用中给出了一个PHP代码段,该代码段包含了对用户输入的处理和判断逻辑。如果用户提供的$text文件内容等于"welcome to the zjctf",则会将该文件内容输出;如果$file文件名中包含"flag"字符,则输出"Not now!";否则,会包含$file所指向的文件,并对$password进行反序列化操作后输出。如果以上条件都不满足,则会将整个文件的代码进行高亮显示。