pat-1155

news/2024/10/23 7:19:57/
//PAT 1155
#include<iostream>
#include<vector>
using namespace std;
vector<int> v;
//全局变量与局部变量要分清 
int n,a[1009],ismin=1,ismax=1;//输入: n 结点个数 ,a层序遍历数组值 ,判断堆的逻辑判断值 
void dfs(int j)
{//终止条件if(j*2>n&&j*2+1>n){if(j<=n)//让只有左节点没有右节点的情况打印不出来 (进入到vector中特判不让其打印出){for(int i=0;i<v.size();i++)//输出格式(最后一个元素是换行)  1.前面代表必须加双引号,后面输入如果是字符也要加双引号 printf("%d%s",v[i],i!=v.size()-1?" ":"\n");} }else{//会先将根节点放入vector中,所以只需考虑他的左右孩子该不该入vector中即可 v.push_back(a[2*j+1]);dfs(j*2+1);v.pop_back();//在以他为根节点进行递归 (注意入的是那个数) v.push_back(a[2*j]);dfs(2*j);v.pop_back();} 
}
int main()
{cin>>n;//从一开始是因为要对应树的性质根节点的标号是从1开始 for(int i=1;i<=n;i++){scanf("%d",&a[i]);}v.push_back(a[1]);dfs(1);//从第二个开始检验未必是第一个,根节点上面是没有元素的(注意) for(int i=2;i<=n;i++){if(a[i]>a[i/2]) ismax=0;if(a[i]<a[i/2]) ismin=0; }if(ismin==1){   //Finally print in a line Max Heap if it is a max heap, or Min Heap for a min heap, or Not Heap if it is not a heap at all. printf("Min Heap");}else printf("%s",ismax==1?"Max Heap":"Not Heap");return 0;}

总结:

1.根节点上面是没有元素的带不带根节点进行操作要想清楚(检验堆从第二个元素开始而不是根节点)

2.dfs是以当前节点为根节点探索子树

3.输出格式尤其是让你打出特定的结果直接把那一段复制到注释里进行分析

 

单词  

问题

先中后树的遍历到底如何实现

 


http://www.ppmy.cn/news/154084.html

相关文章

因路径乱码使InstallShield Wizard安装包打开“出现1155错误,文件xxx.msi未找到“的解决方式

安装学校大物实验软件&#xff0c;该软件使用InstallShield打包&#xff0c;但我将安装包下载下来后打开无法正常运行。明明也已按教学视频所说安装了.Net Framework 3.5&#xff0c;还是出现错误。 我遇到的错误如下图&#xff1a; 之前改过日文系统&#xff0c;现在出现路径…

HAUTOJ1155:字符串比较

题目描述&#xff1a;: 比较字符串大小&#xff0c;但比较的规则不同字典序规则。字符比较新规则如下&#xff1a;A < a < B < b < ………… < Z < z。 输入: 输入数据包含多个测试实例&#xff0c;每个测试实例占两行&#xff0c;每一行有一个字符串&…

NOIP 1155:回文三位数

1155&#xff1a;回文三位数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 30340 通过数: 19971 【题目描述】 如果一个数从左边读和从右边读都是同一个数&#xff0c;就称为回文数。例如6886就是一个回文数&#xff0c;求出所有的既是回文数又是素数的三位数。 …

ERC1155和ERC721的区别

简单来说&#xff0c;ERC1155 是 ERC721 的升级版&#xff0c;ERC1155 在 ERC721 的基础上&#xff0c;主要增加或改善了如下功能&#xff1a; 同时支持可替换代币(同质化代币)和不可替换代币(非同质化代币)&#xff1b;批量转账: 仅需要一次智能合约调用&#xff0c;就可以转…

1155低功耗cpu排行_1155针可以配那些cpu都列举出来

一、“A”的含义&#xff1a; Pentium 4处理器有Willamette、Northwood和Prescott三种不同核心。其中Willamette核心属于最早期的产品&#xff0c;采用0.18微米工艺制造。。。。 二、“B”的含义&#xff1a; 同样频率的产品&#xff0c;在更高的外频下可具备更高的前端总线&am…

Java智能合约工具包|Java调用智能合约|Java调用ERC20、ERC721、ERC1155合约

Magician-ContractsTools是一个用于调用智能合约的工具包&#xff0c;你可以非常容易地在Java程序中调用智能合约进行查询和写入操作。 有三个内置的标准合约模板&#xff0c;分别是ERC20、ERC721和ERC1155&#xff0c;如果你需要调用这三个合约中的标准函数&#xff0c;可以帮…

HDU 1155

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1155 Bungee Jumping Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1363 Accepted Submission(s): 599 Problem Description Once again,…

详解 ERC-20 vs ERC-777、ERC-721 vs ERC-1155: 它们有何不同?

ERC-20、ERC-777、ERC-721 和 ERC-1155 是以太坊上最受欢迎的通证标准&#xff0c;它们具体指什么以及各有什么不同&#xff1f; 1. 什么是ERC&#xff1f; 在我们开始深入讲不同的通证标准之前&#xff0c;需要追根溯源一下什么是 ERC &#xff1f; ERC 是 Ethereum Request …