news 2026/6/14 11:00:27

栈与队列专题详解之堆宝塔

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
栈与队列专题详解之堆宝塔

题目描述:堆宝塔

堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小,按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。聪明宝宝采取的策略如下:

首先准备两根柱子,一根 A 柱串宝塔,一根 B 柱用于临时叠放。把第 1 块彩虹圈作为第 1 座宝塔的基座,在 A 柱放好。将抓到的下一块彩虹圈 C 跟当前 A 柱宝塔最上面的彩虹圈比一下,如果比最上面的小,就直接放上去;

否则把 C 跟 B 柱最上面的彩虹圈比一下:如果 B 柱是空的,或者 C 大,就在 B 柱上放好;否则把 A 柱上串好的宝塔取下来作为一件成品;

然后把 B 柱上所有比 C 大的彩虹圈逐一取下放到 A 柱上,最后把 C 也放到 A 柱上。重复此步骤,直到所有的彩虹圈都被抓完。最后 A 柱上剩下的宝塔作为一件成品,B 柱上剩下的彩虹圈被逐一取下,堆成另一座宝塔。

问:宝宝一共堆出了几个宝塔?最高的宝塔有多少层?

重复此步骤,直到所有的彩虹圈都被抓完。最后 A 柱上剩下的宝塔作为一件成品,B 柱上剩下的彩虹圈被逐一取下,堆成另一座宝塔。

问:宝宝一共堆出了几个宝塔?最高的宝塔有多少层?

输入格式:

输入第一行给出一个正整数 N ,为彩虹圈的个数。第二行按照宝宝抓取的顺序给出 N 个不超过 100 的正整数,对应每个彩虹圈的直径。

输出格式:

在一行中输出宝宝堆出的宝塔个数,和最高的宝塔的层数。数字间以 1 个空格分隔,行首尾不得有多余空格。

输入样例:

11 10 8 9 5 12 11 4 3 1 9 15

输出样例:

4 5

样例解释:

宝宝堆成的宝塔顺次为:

10、8、5

12、11、4、3、1

9

15、9

解析:

根据题意,使用两个栈进行模拟操作即可。

#include<bits/stdc++.h> using namespace std; stack<int>a,b; int n,x,maxx,sum; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>x; if(a.empty()){ a.push(x); continue; } if(x<a.top()){ a.push(x); } else{ if(b.empty()||x>b.top()){ b.push(x); } else{ sum++; if(a.size()>maxx) maxx=a.size(); while(a.size()>0){ a.pop(); } while(b.size()>0&&b.top()>x){ int h=b.top(); b.pop(); a.push(h); } a.push(x); } } }if(!a.empty()){ sum++; if(a.size()>maxx) maxx=a.size(); } if(!b.empty()){ sum++; if(a.size()>maxx) maxx=b.size(); } cout<<sum<<' '<<maxx; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 10:59:48

AlienFX Tools终极指南:轻松掌控Alienware灯光与风扇的完整方案

AlienFX Tools终极指南&#xff1a;轻松掌控Alienware灯光与风扇的完整方案 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 还在为Alienware Command C…

作者头像 李华
网站建设 2026/6/14 10:58:59

Sunshine多客户端游戏串流:打造家庭游戏共享中心

Sunshine多客户端游戏串流&#xff1a;打造家庭游戏共享中心 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在数字化娱乐时代&#xff0c;游戏不再局限于单一设备或单人体验。Sun…

作者头像 李华
网站建设 2026/6/14 10:57:55

Poppins字体完整指南:免费开源的多语言排版终极解决方案

Poppins字体完整指南&#xff1a;免费开源的多语言排版终极解决方案 【免费下载链接】Poppins Poppins, a Devanagari Latin family for Google Fonts. 项目地址: https://gitcode.com/gh_mirrors/po/Poppins Poppins字体是一款开源的几何无衬线字体家族&#xff0c;完…

作者头像 李华
网站建设 2026/6/14 10:57:53

DSPy:编译器驱动的LLM编程框架原理与实战

1. 这不是又一个LLM抽象层&#xff1a;DSPy到底在解决什么真问题&#xff1f;“Inside DSPy&#xff1a;The New Language Model Programming Framework You Need to Know About”——这个标题里藏着三个关键信号&#xff1a;Inside&#xff08;强调深度解构&#xff09;、New&…

作者头像 李华