news 2026/6/20 1:17:09

经典算法题详解:堆宝塔游戏

作者头像

张小明

前端开发工程师

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/20 1:06:58

考研英语作文真题|考研英语作文模板|万能句型

考研英语作文真题|考研英语作文模板|万能句型 关键词&#xff1a;考研英语作文真题、考研英语作文资料电子版、考研英语作文模板万能句型、英语一大作文模板、英语二作文范文、考研英语小作文格式、考研英语作文高分句型、考研英语写作素材。资料全科都有考研英语作文模板 PDFh…

作者头像 李华
网站建设 2026/6/20 0:58:03

Vector 歪特机器人:从基础指令到云端智能的交互口令进阶指南

1. Vector歪特机器人入门&#xff1a;从唤醒到基础指令 第一次接触Vector歪特机器人时&#xff0c;很多人都会被它圆滚滚的大眼睛和灵活的动作萌到。但要让这个小家伙真正听你指挥&#xff0c;得先掌握几个关键技巧。最基础也最重要的就是唤醒词"Hey Vector"——相当…

作者头像 李华
网站建设 2026/6/20 0:53:19

MPC5634M引脚功能与电气特性深度解析及硬件设计实战指南

1. MPC5634M引脚功能深度解析对于任何一位嵌入式硬件工程师而言&#xff0c;拿到一颗新的微控制器&#xff08;MCU&#xff09;&#xff0c;第一件事就是“啃”数据手册的引脚定义和电气特性章节。这就像拿到一张新城市的详细地图&#xff0c;只有搞清楚每条“道路”&#xff0…

作者头像 李华
网站建设 2026/6/20 0:49:47

ComfyUI-LTXVideo进阶攻略:从入门到精通的AI视频创作工具箱

ComfyUI-LTXVideo进阶攻略&#xff1a;从入门到精通的AI视频创作工具箱 【免费下载链接】ComfyUI-LTXVideo LTX-Video Support for ComfyUI 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-LTXVideo 想要在ComfyUI中玩转LTX-2视频生成模型&#xff1f;别担心…

作者头像 李华