1155 Heap Paths (30 分)【难度: 一般 / 知识点: 堆 堆的遍历】
https://pintia.cn/problem-sets/994805342720868352/problems/1071785408849047552
#include<bits/stdc++.h>
using namespace std;
const int N=1e3*5+10;
int a[N],n,flag1,flag2;
vector<int>path;
void dfs(int u)
{if((u*2)>n&&(u*2+1)>n)//说明是叶子{for(int i=0;i<path.size();i++) cout<<path[i]<<" ";cout<<a[u]<<endl;return;}if(u*2+1<=n){if(a[u]>=a[u*2+1]) flag1=1;else flag2=1;path.push_back(a[u]);dfs(u*2+1);path.pop_back();}if(u*2<=n){if(a[u]>=a[u*2]) flag1=1;else flag2=1;path.push_back(a[u]);dfs(u*2);path.pop_back();}
}
int main(void)
{cin>>n;for(int i=1;i<=n;i++) cin>>a[i];dfs(1);if(flag1&&flag2) puts("Not Heap");else if(flag1) puts("Max Heap");else puts("Min Heap");
}
1155 Heap Paths (30 分)【难度: 一般 / 知识点: 堆 堆的遍历】相关推荐
- PAT甲级1155 Heap Paths (30 分):[C++题解]堆、堆的遍历、树的遍历、dfs输出路径、完全二叉树建树
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 堆首先是完全二叉树,所以先建完全二叉树,由于给定的是层序遍历的数据,所以直接用数组即可,注意数组下标从1开始,这样便满足结点u和左儿 ...
- 【PAT - 甲级1155】Heap Paths (30分)(栈,dfs,二叉树)
题干: In computer science, a heap is a specialized tree-based data structure that satisfies the heap p ...
- PAT甲级1127 ZigZagging on a Tree (30分):[C++题解]之字形层次遍历树bfs实现一层一层读入
文章目录 题目分析 题目链接 题目分析 分析 给定中序遍历和后序遍历,先建树: 后面就是写一个bfs,层序遍历稍微改改即可. bfs要做的修改是如何一层一层的读入.令根结点是第一层,本题的之字形遍历就 ...
- 【CCCC】L3-016 二叉搜索树的结构 (30分),,手动建堆(二叉搜索树节点询问),map写法
problem L3-016 二叉搜索树的结构 (30分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右 ...
- 1127 ZigZagging on a Tree (30 分)【难度: 一般 / 知识点: 根据中序遍历 后序遍历建树】
https://pintia.cn/problem-sets/994805342720868352/problems/994805349394006016 PAT甲级中算是很传统的题了,就是建树,然后 ...
- 【PAT甲级 - C++题解】1155 Heap Paths
✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
- 高考540分计算机,一线老师告诉你:高三后期这么做,3个月提高30分真不难!
有同学问:高三下学期,文科生想把成绩从540分提升到570分,你觉得可能吗?有什么好建议? 作为一名长期奋战在高考一线的班主任,我可以明确说"完全可能,而且没有难度! 为什么我敢这么肯定的回 ...
- PAT甲级1147 Heaps (30 分):[C++题解]堆、树的遍历、dfs、完全二叉树建树
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:给定完全二叉树,判断是否是堆,需要区分大根堆,小根堆.后面是输出后序遍历. AC代码 #include<bits/stdc++. ...
- PAT甲级1131 Subway Map (30分):[C++题解]堆优化dijkstra、单源最短路、地铁地图、巧妙地建图套dijkstra模板!!
文章目录 题目分析 题目链接 题目分析 原题: 来源:acwing 分析: 建图:所有能走到的点之间建立一条边,比如下面一条地铁线路有4站,它们是相通的,两两之间建一条边,边权是经过的站点数. 下面考 ...
最新文章
- AES加密时抛出java.security.InvalidKeyException:#160;Illegal#160;key#160;size#160;or#160;def...
- Vivado中MIG核中DDR的读写控制
- 《java入门第一季》之面向对象面试题(继承中构造方法的关系)
- quartz 报错:java.lang.classNotFoundException
- 华为的型号命名规则_电力电缆产品的型号命名规则
- 好云推荐官丨飞天加速之星怎样选择云服务器ECS?
- vmware view 桌面源不可用_在 openEuler 上安装桌面环境
- 计算机考研要过六级吗,本科考研英语过几级 有四六级要求吗
- 页面每次添加都显示最后一次访问记录spring scope=prototype 学习笔记
- 爬虫实例十三 教你怎么用爬虫一次给女朋友拿下28万张情侣头像
- matlab读入stl文件,【源码】二进制立体光刻文件(STL)的MATLAB读取函数stlread
- (5)机器学习_K折交叉验证(iris数据集实例)
- 【计量经济学导论】08. 平稳时间序列
- compoundbutton(compoundbutton是什么意思)
- MATLAB机器人仿真:利用plot3d显示真实三维仿真模型
- 计算机广告制作教程,Photoshop实例教程:制作网站横条广告
- 分布式机器学习(下)-联邦学习
- java smtp.126.com_java实现邮件发送
- 3分钟看懂零售店新经济:零售店如何运营数据分析经营好门店?
- 如何唤起支付宝支付调用接口