PTA团体程序设计天梯赛L2真题讲解L2-037-040
官网https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7文章目录L2-037 包装机L2-038 病毒溯源L2-039 清点代码库L2-040 哲哲打游戏L2-037 包装机题目分析本题是数据结构基础模拟题核心考察队列与栈的典型应用场景轨道上的物品遵循「先放置先掉落」的规则符合队列先进先出的特性筐中的物品遵循「最后放入的最先被抓取」的规则符合栈后进先出的特性需要处理两种边界情况筐满时强制弹出栈顶、轨道/筐为空时操作无效。解题思路数据结构选型用queuechar数组存储每条轨道的物品数组下标对应轨道编号1~n用stackchar存储筐中的物品。逐操作模拟读入操作编号遇到-1终止循环操作0若栈非空弹出栈顶元素并直接输出操作k (k0)若第k条轨道队列为空跳过本次操作若筐已满栈大小等于最大容量先弹出栈顶元素输出腾出空间将轨道队首元素压入栈同时轨道队首出队。时间复杂度每个物品最多入队/出队、入栈/出栈各一次总操作数与物品数量、操作数线性相关时间复杂度为O(N)完全满足题目数据范围。AC代码#includebits/stdc.husingnamespacestd;constintN110;queuecharq[N];// 每条轨道对应一个队列intmain(){intn,m,s;cinnms;// 读入每条轨道的初始物品for(inti1;in;i){for(intj0;jm;j){charc;cinc;q[i].push(c);}}stackcharst;// 筐用栈存储intop;while(cinop){if(op-1)break;// 输入结束标志if(op0){// 0号操作抓取筐顶物品到流水线if(!st.empty()){coutst.top();st.pop();}}else{// 按下对应轨道按钮if(q[op].empty())continue;// 轨道为空无操作// 筐已满强制先弹出一个物品if(st.size()s){coutst.top();st.pop();}// 轨道尽头物品落入筐中st.push(q[op].front());q[op].pop();}}return0;}L2-038 病毒溯源题目分析本题是树的深度遍历经典题核心考察树的存储、最长路径查找、字典序最小路径输出病毒变异关系构成一棵有根树每个节点仅有一个父节点无环入度为0的节点是病毒源头要求找到从根出发的最长变异链若有多条长度相同的最长链输出字典序最小的一条。解题思路建树与找根用vectorint数组存储每个节点的子节点构建邻接表统计每个节点的入度入度为0的节点即为树的根。第一次DFS求最长链长度从根节点出发深度优先遍历记录路径的最大长度。子节点排序保证字典序将每个节点的子节点按编号从小到大排序DFS时优先遍历小编号子节点第一条找到的最长链就是字典序最小的。第二次DFS输出路径用数组记录当前路径当路径长度等于最长长度时直接输出路径并终止程序。时间复杂度每个节点仅被遍历两次两次DFS总时间复杂度为O(N)满足数据范围要求。AC代码#includebits/stdc.husingnamespacestd;constintN1e49;vectorintv[N];// 邻接表存储每个节点的子节点intdu[N];// 入度数组用于查找根节点intpath[N];// 记录当前搜索路径intmaxLen;// 最长变异链长度// 第一次DFS计算最长链长度voiddfs_len(intu,intlen){maxLenmax(maxLen,len);for(intson:v[u]){dfs_len(son,len1);}}// 第二次DFS查找字典序最小的最长链voiddfs_path(intu,intlen){path[len]u;if(lenmaxLen){// 找到目标路径直接输出并退出for(inti1;imaxLen;i){coutpath[i];if(i!maxLen)cout ;}exit(0);// 终止程序保证第一个找到的就是字典序最小}for(intson:v[u]){dfs_path(son,len1);}}intmain(){intn;cinn;for(inti0;in;i){intk,x;cink;while(k--){cinx;du[x];v[i].push_back(x);}}// 查找根节点入度为0introot0;for(inti0;in;i){if(du[i]0){rooti;break;}}// 第一步求最长链长度dfs_len(root,1);coutmaxLen\n;// 子节点升序排序保证DFS优先走小编号节点for(inti0;in;i){sort(v[i].begin(),v[i].end());}// 第二步输出字典序最小的最长链dfs_path(root,1);return0;}L2-039 清点代码库题目分析本题是STL综合应用题核心考察vector作为映射键、自定义排序规则的使用功能相同等价于输出序列完全一致可用序列作为唯一标识统计出现次数输出要求按模块数量降序数量相同时按输出序列字典序升序。解题思路映射统计频次利用mapvectorint, int统计每个输出序列出现的次数vector天然支持字典序比较可直接作为map的键完全符合题目对序列大小的定义。结构化存储与排序将map中的键值对转为结构体存入vector方便自定义排序重载比较运算符优先按出现次数降序次数相同时按序列字典序升序。按格式输出先输出不同功能的总数再逐行输出次数和对应输出序列。时间复杂度插入map的时间为O(N·M logN)N为模块数M为每个模块输出个数排序时间为O(K logK)K为不同功能的数量K≤N整体复杂度完全满足题目数据范围。AC代码#includebits/stdc.husingnamespacestd;// 功能结构体存储输出序列与对应模块数量structFunc{vectorintoutput;intcnt;// 自定义排序规则booloperator(constFuncother)const{if(cnt!other.cnt){returncntother.cnt;// 数量多的排在前面}returnoutputother.output;// 数量相同序列字典序小的在前}};mapvectorint,intmp;vectorFuncans;intmain(){intn,m;cinnm;// 统计每个功能出现的次数for(inti0;in;i){vectorinttmp;for(intj0;jm;j){intx;cinx;tmp.push_back(x);}mp[tmp];}// 将map数据转入vector便于自定义排序for(autoitem:mp){ans.push_back({item.first,item.second});}// 按题目规则排序sort(ans.begin(),ans.end());// 输出结果coutans.size()\n;for(autof:ans){coutf.cnt;for(intnum:f.output){cout num;}cout\n;}return0;}L2-040 哲哲打游戏题目分析本题是简单模拟题核心考察数组模拟、下标偏移处理属于基础送分题剧情点的跳转关系用邻接表存储存档功能用数组记录每个档位对应的剧情点按顺序模拟所有操作最终输出终点剧情点。解题思路存储跳转关系用vectorint数组存储每个剧情点的所有选项对应的目标剧情点选项编号从1开始数组下标从0开始访问时需要做下标减1处理。存档数组用数组记录每个档位存储的剧情点编号档位从1开始题目约定不超过100档。逐操作模拟初始当前剧情点为1操作0根据选项号跳转剧情点操作1输出当前剧情点并将当前剧情点存入对应档位操作2将当前剧情点更新为对应档位的存档内容。所有操作结束后输出最终的当前剧情点。时间复杂度每个操作仅执行一次跳转、存档、读档都是O(1)操作总时间复杂度为O(M)效率极高。AC代码#includebits/stdc.husingnamespacestd;constintN1e59;vectorintplot[N];// 每个剧情点的跳转选项intsave[105];// 存档档位最多100档intmain(){intn,m;cinnm;// 读入每个剧情点的跳转关系for(inti1;in;i){intk,x;cink;while(k--){cinx;plot[i].push_back(x);}}intnow1;// 当前剧情点初始为1号while(m--){intop,b;cinopb;if(op0){// 选择第b个选项跳转剧情nowplot[now][b-1];}elseif(op1){// 存档到第b档输出当前剧情点coutnow\n;save[b]now;}elseif(op2){// 读取第b档存档nowsave[b];}}// 输出最终到达的剧情点coutnow;return0;}

相关新闻

AI驱动Figma设计:基于Claude Code与Plugin API的智能工作流实践

AI驱动Figma设计:基于Claude Code与Plugin API的智能工作流实践

1. 项目概述:当设计工具“活”了过来如果你和我一样,常年泡在Figma里,从线框图一路画到高保真,那你一定对那种“重复劳动”的疲惫感深有体会。调整一个组件的间距,得手动框选几十个实例;想尝试一个新的布局…

2026/8/9 2:08:41 阅读更多 →
SpringBoot在线投票系统开发与毕业设计实践

SpringBoot在线投票系统开发与毕业设计实践

1. 项目概述:SpringBoot在线投票系统的核心价值网络投票系统在当今数字化社会中扮演着越来越重要的角色。我最近用SpringBoot完整实现了一个B/S架构的在线投票平台,这个系统特别适合作为计算机专业毕业设计选题,因为它涵盖了Web开发的完整技术…

2026/8/9 2:07:41 阅读更多 →
从零构建技术博客:以Istio服务网格部署为例的写作方法论与实践

从零构建技术博客:以Istio服务网格部署为例的写作方法论与实践

在实际技术写作中,我们经常会遇到一个看似简单却容易出错的任务:如何将零散、不完整甚至缺失的原始材料,系统性地重构为一篇结构严谨、内容充实、可指导实践的技术博客。本文将以一个极端案例——“Jason Liu 晒新玩具引热议”这个仅有标题、…

2026/8/9 2:07:41 阅读更多 →

最新新闻

如何实现拼多多自动回复与客服自动化?不抢焦不抢屏,后台跑百店你前台打游戏

如何实现拼多多自动回复与客服自动化?不抢焦不抢屏,后台跑百店你前台打游戏

如何实现拼多多自动回复与客服自动化?不抢焦不抢屏,后台跑百店你前台打游戏 在电商圈混久了就会发现,拼多多的自动回复与客服,是店群运营中最耗人力也最容易出错的环节。 店群客服是纯人力消耗战。一个店日均50条咨询&#xff0…

2026/8/10 0:57:32 阅读更多 →
如何实现拼多多极速自动改价自动化?系统级防风控,不是打补丁是重构地基

如何实现拼多多极速自动改价自动化?系统级防风控,不是打补丁是重构地基

如何实现拼多多极速自动改价自动化?系统级防风控,不是打补丁是重构地基 说句掏心窝的话,做店群的,工具选对了事半功倍。拼多多的极速自动改价,是店群运营中最耗人力也最容易出错的环节。 电商价格战是分钟级的。竞品…

2026/8/10 0:57:32 阅读更多 →
AI Agent 系统设计与多模态交互实验:升级前先做这几项确认

AI Agent 系统设计与多模态交互实验:升级前先做这几项确认

AI Agent 系统设计与多模态交互实验:升级前先做这几项确认 1. 线上静默升级后,老用户的 Agent 会话停滞 热更新看起来很潇洒,不做好兼容就会导致线上事故。 上周团队对 Agent 系统进行例行版本升级。这次更新修改了 Agent 状态机的数据结构&a…

2026/8/10 0:55:31 阅读更多 →
天赐范式第129天:3.91e-05的第二次重锚——当Lorenz注入被证伪后

天赐范式第129天:3.91e-05的第二次重锚——当Lorenz注入被证伪后

天赐范式第129天:3.91e-05的第二次重锚——当Lorenz注入被证伪后副标题:128天剥掉了一层皮,129天继续凿——不是推翻,是修正比喻📌 本文是天赐范式系列第129天,前置阅读:第128天三篇&#xff08…

2026/8/10 0:55:31 阅读更多 →
从 bootloader 到 rootfs 的完整 Linux 搭建:代码评审该盯住哪些细节

从 bootloader 到 rootfs 的完整 Linux 搭建:代码评审该盯住哪些细节

从 bootloader 到 rootfs 的完整 Linux 搭建:代码评审该盯住哪些细节 启动链路的代码评审不能只看“板子能否启动”。一次看似无害的环境变量、分区偏移或默认启动项变动,都可能把升级风险留到现场。 按阶段审查启动链路 先画出 ROM、bootloader、内核、…

2026/8/10 0:53:24 阅读更多 →
MCU 资源受限环境的高效系统方案设计:选型别只看功能清单

MCU 资源受限环境的高效系统方案设计:选型别只看功能清单

MCU 资源受限环境的高效系统方案设计:选型别只看功能清单 MCU 项目做组件选型时,最容易被功能列表带偏:都支持协议栈、文件系统或 OTA,并不代表都能放进目标芯片。真正先要回答的是 RAM、Flash、实时性和调试条件能否承受。 先把资…

2026/8/10 0:53:24 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →