news 2026/7/22 6:15:29

GESP认证C++编程真题解析 | B3927 [GESP202312 四级] 小杨的字典

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3927 [GESP202312 四级] 小杨的字典

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[B3927 GESP202312 四级] 小杨的字典 - 洛谷

【题目描述】

在遥远的星球,有两个国家 A 国和 B 国,他们使用着不同的语言:A 语言和 B 语言。小杨是 B 国的翻译官,他的工作是将 A 语言的文章翻译成 B 语言的文章。

为了顺利完成工作,小杨制作了一本字典,里面记录了N NN个 A 语言单词对应的 B 语言单词,巧合的是,这些单词都由地球上的 26 个小写英文字母组成。

小杨希望你写一个程序,帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号!()-[]{}\|;:'",./?<>和一些 A 语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有 A 语言单词替换成它的 B 语言翻译。特别地,如果遇到不在字典中的单词,请使用大写 UNK 来替换它。

例如,小杨的字典中包含2 22个 A 语言单词abcd,它们的 B 语言翻译分别为adef,那么我们可以把 A 语言文章abc.d.d.abc.abcd.翻译成 B 语言文章a.def.def.a.UNK.其中,单词abcd不在词典内,因此我们需要使用 UNK 来替换它。

【输入】

第一行一个整数N NN,表示词典中的条目数。保证N ≤ 100 N \le 100N100

接下来N NN行,每行两个用单个空格隔开的字符串A AAB BB,分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有A AA不重复;保证A AAB BB的长度不超过10 1010

最后一行一个字符串S SS,表示需要翻译的 A 语言文章。保证字符串S SS的长度不超过1000 10001000,保证字符串S SS只包含小写字母以及标点符号!()-[]{}\|;:'",./?<>

【输出】

输出一行,表示翻译后的结果。

【输入样例】

2 abc a d def abc.d.d.abc.abcd.

【输出样例】

a.def.def.a.UNK.

【算法标签】

《洛谷 B3927 小杨的字典》 #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;intn;// 字典条目数map<string,string>mp;// 字典:单词 -> 翻译intmain(){// 输入字典大小cin>>n;// 读入字典for(inti=1;i<=n;i++){string a,b;cin>>a>>b;// a: 单词, b: 翻译mp[a]=b;// 建立映射}// 输入待翻译的字符串string s;cin>>s;string t="";// 临时存储当前识别的单词inti;// 遍历输入字符串for(i=0;i<s.size();i++){// 如果是小写字母,加入到当前单词if(islower(s[i])){t+=s[i];}else{// 遇到非小写字母,表示单词结束if(t!=""){// 查找字典if(mp.count(t)){cout<<mp[t];// 输出翻译}else{cout<<"UNK";// 未知单词}t="";// 清空临时单词}// 输出当前的非字母字符(保持原样)cout<<s[i];}}// 处理末尾可能剩余的单词if(t!=""){if(mp.count(t)){cout<<mp[t];}else{cout<<"UNK";}}// 问题:这里输出s[i]会越界,因为循环结束i==s.size()// 应该是想要输出最后一个字符?但实际不应该在这里输出// cout << s[i]; // 这行应该删除return0;}

【运行结果】

2 abc a d def abc.d.d.abc.abcd. a.def.def.a.UNK.
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 9:35:34

汇编语言全接触-41.虚拟设备驱动程序初步

在本教程里&#xff0c;我假定读者对诸如虚8086模式&#xff0c;调页&#xff0c;GDT,LDT,IDT之类的INTEL 80x86保护模式的操作比较熟悉。如果你不了解这些&#xff0c;那你要先在 http://developer.intel.com/design/pentium/manuals/阅读INTEL的文档。 内容&#xff1a;Windo…

作者头像 李华
网站建设 2026/7/21 7:46:25

LangFlow能否实现专利文献摘要提取?科研情报处理

LangFlow能否实现专利文献摘要提取&#xff1f;科研情报处理 在科研与知识产权领域&#xff0c;每年新增的专利文献以数十万计&#xff0c;研究人员面对的是信息爆炸带来的巨大挑战。如何从一篇动辄几十页的技术文档中快速抓住核心创新点&#xff1f;传统方式依赖人工阅读和专家…

作者头像 李华
网站建设 2026/7/21 14:29:22

告别熬夜爆肝:百考通AI如何用源码宝库与智能答辩重塑学习体验

一键获取多领域高质量源码&#xff0c;自动生成学术风答辩PPT&#xff0c;这才是当代技术人的高效学习方式 在技术学习的道路上&#xff0c;我们是否都曾面临这样的困境&#xff1a;深夜对着电脑屏幕&#xff0c;搜索着难以找到的项目源码&#xff1b;毕业季前&#xff0c;连续…

作者头像 李华
网站建设 2026/7/21 11:04:39

AI赋能科研:百考通如何让学术起步更高效

在当今快节奏的学术环境中&#xff0c;研究人员和学生面临着前所未有的压力&#xff1a;海量的文献需要阅读&#xff0c;复杂的课题需要设计&#xff0c;严格的格式需要遵守。传统的学术准备工作往往消耗研究者大量的时间和精力&#xff0c;而这些时间本可以用于更深入的思考和…

作者头像 李华
网站建设 2026/7/22 3:15:54

LangFlow开源生态现状及未来发展方向预测

LangFlow&#xff1a;重塑AI应用开发的可视化引擎 在大语言模型&#xff08;LLM&#xff09;席卷各行各业的今天&#xff0c;一个现实问题摆在开发者面前&#xff1a;如何让强大的模型能力真正落地到具体业务场景&#xff1f;尽管LangChain等框架提供了构建AI智能体的技术基础…

作者头像 李华
网站建设 2026/7/21 7:11:55

Open-AutoGLM自动化卡顿元凶分析(弹窗阻断深度解析与绕行策略)

第一章&#xff1a;Open-AutoGLM 更新弹窗阻断处理在使用 Open-AutoGLM 工具进行自动化推理任务时&#xff0c;系统常因版本检测机制触发更新弹窗&#xff0c;导致执行流程被中断。该弹窗不仅影响批处理任务的连续性&#xff0c;还可能引发脚本挂起或超时异常。为保障自动化流程…

作者头像 李华