PTA团体程序设计天梯赛L1真题讲解L1-101-104
官网https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7文章目录L1-101 别再来这么多猫娘了L1-102 兰州牛肉面L1-103 整数的持续性L1-104 九宫格L1-101 别再来这么多猫娘了题目大意给定若干违禁词、警告阈值和一段待检查文本统计文本中违禁词的出现次数。若次数小于阈值将所有违禁词替换为censored后输出文本若次数大于等于阈值则输出违禁词总数和警告语句。匹配规则为从左到右处理匹配到违禁词后从其末尾继续向后查找不重叠计数。核心思路按输入顺序逐个处理违禁词在文本中滑动匹配子串匹配成功则计数并用特殊字符占位避免后续匹配重叠。最终根据计数结果选择输出替换后的文本或警告信息。算法步骤读取违禁词数量将所有违禁词存入数组。读取阈值使用getline读取完整待检查文本。遍历每个违禁词在文本中逐位滑动匹配若当前位置子串与违禁词相等计数加1并用特殊字符替换该段内容占位。匹配后指针跳到违禁词末尾继续防止重叠匹配。若总计数小于阈值遍历文本普通字符原样输出特殊字符替换为censored输出。若总计数大于等于阈值输出计数与警告语句。正解代码#includebits/stdc.husingnamespacestd;string s,sscensored;vectorstringv;intn,k,cnt;intmain(){cinn;for(inti1;in;i){string s1;cins1;v.push_back(s1);}cink;cin.ignore();getline(cin,s);for(autot:v){intlnt.size();for(inti0;ilns.size();i){if(s.substr(i,ln)t){cnt;s.replace(i,ln,\b);}}}if(cntk){for(inti0;is.size();i)if(s[i]!\b)couts[i];elsecoutss;}else{coutcnt\n;coutHe Xie Ni Quan Jia!;}return0;}代码关键细节读取阈值后必须用cin.ignore()吃掉换行符避免后续getline读入空行。使用特殊字符如退格符临时占位匹配到的违禁词避免直接替换字符串导致长度变化、影响后续匹配位置。违禁词按输入顺序依次处理符合题目要求。L1-102 兰州牛肉面题目大意给定 n 种牛肉面的单价以及若干条销售记录品种编号 碗数遇到编号 0 时输入结束。统计每种牛肉面的总销量和全天总营业额按品种编号顺序输出销量最后输出保留两位小数的总营业额。核心思路用数组按编号存储每种面的单价和销量遍历销售记录累加销量与营业额最后按顺序输出结果。算法步骤读取品种数 n再依次读入 n 种面的单价按下标对应编号存储。初始化销量数组全部为 0。循环读取销售记录当读到0 0时终止循环。每条有效记录累加对应品种的销量同时计算本次金额并加入总营业额。按编号 1 到 n 的顺序逐行输出销量最后输出总营业额保留两位小数。正解代码#includebits/stdc.husingnamespacestd;doublew[110];intmain(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);intn;cinn;doubleans0;for(inti1;in;i)cinw[i];mapint,intmp;intx,q;for(inti1;in;i)mp[i]0;while(cinxq){if(x0q0)break;mp[x]q;ansq*w[x];}for(autov:mp){coutv.secondendl;}printf(%.2f,ans);return0;}代码关键细节单价与总营业额使用double类型存储保证小数精度。品种编号从 1 开始数组下标与编号一一对应避免越界。输出营业额使用printf(%.2f)格式化自动补零到两位小数。L1-103 整数的持续性题目大意定义整数的持续性反复将该数各位数字相乘直到得到一个个位数所需要的操作步数即为持续性。给定区间 [a, b]找出区间内持续性最长的整数输出最长步数以及所有符合条件的整数按升序排列。核心思路遍历区间内所有整数逐个模拟计算持续性记录最大值和对应的所有数字最后按要求输出。算法步骤编写函数计算单个整数的持续性循环求各位数字的乘积直到数字小于 10统计循环步数。遍历区间 [a, b] 内的每个整数计算其持续性同时更新全局最大持续性。收集所有持续性等于最大值的整数因遍历本身升序结果天然有序。第一行输出最长持续性第二行输出所有符合条件的整数。正解代码#includebits/stdc.husingnamespacestd;constintN2e59;intn,t,ans;vectorpairint,intv;intsxx(intx){intcnt0;while(x9){inttmpx,num1;cnt;while(tmp){num*tmp%10;tmp/10;}xnum;//coutx\n;}returncnt;}intmain(){inta,b,mx0;cinab;for(intia;ib;i){intysxx(i);v.push_back({i,y});mxmax(mx,y);}//coutmx\n;vectorintans;for(autot:v)if(t.secondmx)ans.push_back(t.first);coutmx\n;for(inti0;ians.size();i){coutans[i];if(i!ans.size()-1)cout ;}return0;}代码关键细节计算各位乘积时若某一位为 0乘积直接变为 0下一步即可终止无需继续计算剩余位。区间遍历顺序为从小到大收集的结果自动满足升序要求无需额外排序。L1-104 九宫格题目大意给定多个 9×9 的九宫格判断其是否满足数独规则每行、每列、每个 3×3 小宫格内1~9 每个数字恰好出现一次且数字均在 1~9 范围内。合法输出 1不合法输出 0。核心思路分别编写行检查、列检查、3×3 宫格检查三个函数用布尔数组标记数字出现情况只要任意一处出现重复或非法数字即判定为不合法。算法步骤读取测试用例数 t逐个处理每个九宫格。行检查遍历每一行标记出现过的数字出现重复或超出 1~9 范围则返回不合法。列检查遍历每一列同理检查数字合法性与唯一性。3×3 宫格检查以 (1,1)、(1,4)、(1,7)、(4,1) … 为左上角起点逐个检查 9 个小宫格。三项检查全部通过则输出 1否则输出 0。正解代码#includebits/stdc.husingnamespacestd;inta[10][10],t;boolckr(inth){boolst[10]{0};for(inti1;i9;i){intxa[h][i];if(st[x]||x1||x9)return0;st[x]1;}return1;}boolckc(intl){boolst[10]{0};for(inti1;i9;i){intxa[i][l];if(st[x]||x1||x9)return0;st[x]1;}return1;}boolck3(intsx,intsy){boolst[10]{0};for(intisx;isx2;i)for(intjsy;jsy2;j){intxa[i][j];if(st[x]||x1||x9)return0;st[x]1;}return1;}boolso(){for(intk1;k9;k)if(!ckr(k))return0;for(intk1;k9;k)if(!ckc(k))return0;for(intk1;k9;k3)for(intz1;z9;z3)if(!ck3(k,z))return0;return1;}intmain(){cint;while(t--){for(inti1;i9;i)for(intj1;j9;j)cina[i][j];if(so())cout1\n;elsecout0\n;}return0;}代码关键细节3×3 宫格的起点行和列均按步长 3 递增覆盖全部 9 个宫格。每次检查前重置布尔标记数组确保各行/列/宫格检查互不影响。必须同时检查数字范围出现 0 或大于 9 的数字直接判定不合法。

相关新闻

大型前端项目的文档驱动协作实践:从混乱到有序

大型前端项目的文档驱动协作实践:从混乱到有序

本文基于一个真实企业级前端项目的协作经验,分享如何通过文档驱动的方式规范团队协作、统一代码风格、管理组件体系和保障交付质量。文中已脱敏处理,聚焦方法论和实践经验。背景 在中大型前端项目中,随着团队规模扩大和业务复杂度提升&#x…

2026/10/17 4:54:52 阅读更多 →
React 19 + Vite 企业级前端项目:从零搭建到规范交付

React 19 + Vite 企业级前端项目:从零搭建到规范交付

本文以一个真实企业级前端项目的开发实践为基础,分享如何基于 React 19 Ant Design 5 TypeScript Vite 技术栈搭建项目、组织开发流程、管理多环境运行模式,以及建立质量检查体系。文中已脱敏处理,聚焦通用实践。技术栈选型技术版本选型理…

2026/10/16 17:36:45 阅读更多 →
一个8年工作经验的程序员的畅谈Vibe coding

一个8年工作经验的程序员的畅谈Vibe coding

在AI飞速发展的今天,“Vibe coding”已成为主流开发模式。我在参与许多大厂的分享会后得知,有些大厂甚至推出了“古法编程”排行榜。这不禁让我思考:程序员的工作热情是否会随着AI的发展而日益消退?是否所有程序员都将变成可被替换…

2026/10/16 5:40:09 阅读更多 →

最新新闻

强化学习数学原理全解析:从贝尔曼方程到Actor-Critic知识地图

强化学习数学原理全解析:从贝尔曼方程到Actor-Critic知识地图

简介:《强化学习的数学原理》是西湖大学赵世钰教授撰写的英文专著,面向具备一定数学基础、希望从零系统理解强化学习本质的读者。全书以数学推导为主线,结合大量例子循序渐进地展开,涵盖基础概念、状态值与贝尔曼方程、最优状态值…

2026/10/17 15:18:53 阅读更多 →
Docker安装部署全攻略:从环境检查到镜像加速与踩坑排查

Docker安装部署全攻略:从环境检查到镜像加速与踩坑排查

标题已经写得很直白,这一章就是动手装东西。不管你是刚看完前面几章准备自己折腾一套开发环境,还是公司里要在一台新机器上把运行环境铺起来,Docker安装部署都是绕不开的第一步。这篇文章我会把整个安装过程掰开揉碎,从最开始的版…

2026/10/17 15:18:53 阅读更多 →
深入理解回调函数:从异步编程到错误优先设计

深入理解回调函数:从异步编程到错误优先设计

1. 从一次代码调试说起:为什么回调函数让人又爱又恨 刚入行那会儿,我接手过一个数据处理的小工具,功能很简单:从一批文件里读取内容,解析后写入数据库。代码写完后跑起来,结果却让人抓狂——数据库里空空如…

2026/10/17 15:18:53 阅读更多 →
BLE胎压监测产品通讯协议与低功耗流程方案实战

BLE胎压监测产品通讯协议与低功耗流程方案实战

1. 项目概述与方案选型做胎压监测产品,最绕不开的一个环节就是通讯协议怎么定、数据流程怎么走。这直接决定了产品的功耗表现、连接稳定性、手机端体验,甚至决定了你能不能过认证。我这次要分享的就是一套完整的 BLE 胎压/压力产品通讯协议与流程方案 v1…

2026/10/17 15:18:53 阅读更多 →
OpenWAM世界-动作模型:具身智能架构设计与部署实践

OpenWAM世界-动作模型:具身智能架构设计与部署实践

1. 具身模型赛道的分野与OpenWAM的切入点1.1 从VLA到WAM:一条被忽视的技术路线过去两年,只要聊到机器人智能,几乎绕不开VLA(Vision-Language-Action)这个词。从Google的RT系列到各类开源VLA模型,整个行业的…

2026/10/17 15:18:53 阅读更多 →
线程池+epoll:构建高并发网络服务的关键骨架

线程池+epoll:构建高并发网络服务的关键骨架

1. 先想明白:单线程模型到底堵在哪里1.1 一个连接一个线程的代价网络服务做到第二步,很多项目会开始纠结一个问题:accept 到新连接之后,到底在哪条线程里处理读写?最直觉的方案是“thread per connection”&#xff0c…

2026/10/17 15:17:53 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →