PAT2021年春季3月份备考_按照套卷刷真题(3-4)

题干:1147 Heaps (30 分)

题解:这题拿了满分,而且才做了15分钟,还是继续熟练做题吧,昨天过年的时候给自己的内心很大的一个感受,还有对以后要走的道路有很深的触动。。。我还是想借这个博客提醒刚学PAT的同学。。。。我其实学的并不是很好,但是要到达这样的水准你已经需要付出相当大的努力了,不要看了那些大佬的装逼或者“软文”而感到自责。。。。其实PAT说穿了对于有心从事这个行业的学生,哪怕是研究生考试,都只是一条出路罢了。。。。你如果能做到如此的自觉和高要求,独立开发和创业这条路对你而言,同样是非常值得去尝试的,你应该不要满足于就业,或者说就业并不非常适合你。。。。就我个人来说,我现在反复斟酌的结果是去读研,毕业以后用算法去创业,我以后希望主攻的方向是独立游戏方向的开发

// A1147.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <bits/stdc++.h>
using namespace std;
vector<int> an;
vector<int> bn;
int m, n;
void post_order(int root) {
    if(2*root<=n)post_order(2 * root);
    if (2 * root+1 <= n)post_order(2 * root+1);
    bn.push_back(an[root]);
}
int main()
{
#ifndef ONLINE_JUDGE
#pragma warning(disable:4996)
    freopen("in.txt", "r", stdin);
#endif // !ONLINE_JUDGE
    cin >> m >> n;
    an.resize(n + 1);
    for (int i = 0; i < m; i++) {
        bool max = true, min = true;
        for (int j = 1; j <= n; j++) {
            cin >> an[j];
        }
        for (int j = 2; j <= n; j++) {
            if (an[j / 2] < an[j])max = false;
            if (an[j / 2] > an[j])min = false;
        }
        if (max)cout << "Max Heap\n";
        if(min)cout << "Min Heap\n";
        if (!max && !min)cout << "Not Heap\n";
        post_order(1);
        cout << bn[0];
        for (int i = 1; i < bn.size(); i++) {
            cout << " " << bn[i];
        }
        cout << endl;
        bn.clear();
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Exodus&Focus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值