经典算法题详解:堆宝塔游戏
如大家所熟悉的首先准备两根柱子一根 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、512、11、4、3、1915、9解析根据题意使用两个栈进行模拟操作即可。#includebits/stdc.h using namespace std; stackinta,b; int n,x,maxx,sum; int main(){ cinn; for(int i1;in;i){ cinx; if(a.empty()){ a.push(x); continue; } if(xa.top()){ a.push(x); } else{ if(b.empty()||xb.top()){ b.push(x); } else{ sum; if(a.size()maxx) maxxa.size(); while(a.size()0){ a.pop(); } while(b.size()0b.top()x){ int hb.top(); b.pop(); a.push(h); } a.push(x); } } }if(!a.empty()){ sum; if(a.size()maxx) maxxa.size(); } if(!b.empty()){ sum; if(a.size()maxx) maxxb.size(); } coutsum maxx; }

相关新闻

一梦入盛唐,一醉下江南:淘宝直播×汾酒「汾享江南游园会」圆满收官

一梦入盛唐,一醉下江南:淘宝直播×汾酒「汾享江南游园会」圆满收官

2026年6月11日,端午佳节前夕,淘宝直播「淘宝奇遇电台」联合汾酒品牌,在杭州西溪湿地打造了一场「汾享江南游园会」沉浸式特别直播。活动将江南水乡与盛唐坊市深度交融,凭借创新的“游园微醺”场景交出亮眼答卷:总场观突…

2026/6/20 1:12:47阅读更多 →
Git 从入门到实战——开发必备的版本控制技能

Git 从入门到实战——开发必备的版本控制技能

Git 是每个开发者必须掌握的技能。无论你是独立开发还是团队协作,Git 都能帮你管理代码版本、回溯历史、协同工作。本文从零开始,带你掌握 Git 的核心操作。 一、Git 的核心概念概念说明工作区你写代码的目录暂存区临时存放改动的地方本地仓库存放在本地…

2026/6/20 1:12:47阅读更多 →
计算机Python毕设实战-基于 Python 的在线题包整理分析系统的设计与实现 基于 Python 的学科题库综合处理平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Python毕设实战-基于 Python 的在线题包整理分析系统的设计与实现 基于 Python 的学科题库综合处理平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/20 1:12:47阅读更多 →
K32L3A时钟与ADC电气特性深度解析:从手册参数到嵌入式系统设计实战

K32L3A时钟与ADC电气特性深度解析:从手册参数到嵌入式系统设计实战

1. 项目概述与核心价值在嵌入式系统开发,尤其是基于ARM Cortex-M内核的微控制器项目中,时钟系统和模拟数字转换器(ADC)的性能往往是决定整个应用成败的关键。很多工程师在项目初期,可能会把注意力集中在功能实现和代码…

2026/6/20 2:22:52阅读更多 →
LLMP-UCB算法:金融决策中的多模态智能优化方案

LLMP-UCB算法:金融决策中的多模态智能优化方案

1. 研究背景与核心问题在金融决策领域,智能系统需要持续处理两类关键信息:结构化数值数据(如股价、交易量)和非结构化文本数据(如财报、新闻)。传统上下文多臂老虎机(CMAB)算法虽擅长…

2026/6/20 2:22:52阅读更多 →
为什么Voron 0重新定义了桌面级3D打印机的性能极限?

为什么Voron 0重新定义了桌面级3D打印机的性能极限?

为什么Voron 0重新定义了桌面级3D打印机的性能极限? 【免费下载链接】Voron-0 Voron 0 CoreXY 3D Printer design 项目地址: https://gitcode.com/gh_mirrors/vo/Voron-0 想象一下,你正在寻找一台能够放在办公桌上的3D打印机,它需要足…

2026/6/20 2:22:52阅读更多 →
高效办公新体验:在VS Code中无缝预览Word与Excel文件

高效办公新体验:在VS Code中无缝预览Word与Excel文件

高效办公新体验:在VS Code中无缝预览Word与Excel文件 【免费下载链接】vscode-office Let VSCode support previewing PDF, Excel, Word and other formats, and add markdown WYSIWYG editor. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-office 在…

2026/6/20 2:22:52阅读更多 →
Kinetis K21F I2S/SAI时序与低功耗模式设计详解

Kinetis K21F I2S/SAI时序与低功耗模式设计详解

1. 项目概述与核心价值在嵌入式音频系统开发中,I2S(Inter-IC Sound)总线是连接微控制器、音频编解码器、数字麦克风等器件的生命线。它定义了音频数据流传输的“交通规则”,而时序则是这套规则的核心。时序不满足,轻则…

2026/6/20 2:22:52阅读更多 →
ROFL-Player:英雄联盟回放播放难题的终极解决方案

ROFL-Player:英雄联盟回放播放难题的终极解决方案

ROFL-Player:英雄联盟回放播放难题的终极解决方案 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄联盟旧版本回放…

2026/6/20 2:17:52阅读更多 →
【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/20 0:02:40阅读更多 →
MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

1. 项目概述与核心价值在嵌入式开发,尤其是电机驱动、LED调光、开关电源这些需要精确控制“能量”的领域,脉冲宽度调制(PWM)技术是工程师手中的一把瑞士军刀。它的本质很简单:用一个固定频率的方波,通过改变…

2026/6/20 0:02:40阅读更多 →
在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

1. 银河麒麟V10桌面系统与软RAID 1基础认知 第一次在银河麒麟V10桌面上折腾软RAID 1时,我踩了不少坑。这个国产操作系统基于Linux内核,但2205版本对软RAID模块做了特殊处理,需要额外操作才能正常使用。软RAID 1其实就是磁盘镜像技术&#xff…

2026/6/20 0:02:40阅读更多 →