news 2026/5/6 20:07:39

GESP认证C++编程真题解析 | 202403 四级

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | 202403 四级

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

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

适合人群:

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

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


编程题

B3958 相似字符串

【题目来源】

洛谷:B3958 [GESP202403 四级] 相似字符串 - 洛谷

【题目描述】

对于两个字符串A AAB BB,如果A AA可以通过删除一个字符,或插入一个字符,或修改一个字符变成B BB,那么我们说A AAB BB是相似的。

比如 apple 可以通过插入一个字符变成 applee ,可以通过删除一个字符变成 appe ,也可以通过修改一个字符 变成 bpple ,因此 apple 和 applee 、 appe 、 bpple 都是相似的。但 applee 并不能通过任意一个操作变成 bpple ,因此它们并不相似。

特别地,完全相同的两个字符串也是相似的。

给定T TTA , B A,BA,B,请你分别判断他们是否相似。

【输入】

第一行一个正整数T TT

接下来T TT行,每行两个用空格隔开的字符串A AAB BB

保证T ≤ 100 T\le 100T100A , B A,BA,B的长度不超过50 5050。保证A AAB BB只包含小写字母。

【输出】

输出T TT行,对于每组A , B A,BA,B,如果它们相似,则输出similar,否则输出not similar

【输入样例】

5 apple applee apple appe apple bpple applee bpple apple apple

【输出样例】

similar similar similar not similar similar

【算法标签】

《洛谷 B3958 相似字符串》 #字符串(入门)# #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>// 包含所有标准库头文件usingnamespacestd;// 使用标准命名空间// 判断两个字符串是否相似boolisSimilar(string A,string B){intm=A.size(),n=B.size();// 长度差超过1直接返回不相似if(abs(m-n)>1)returnfalse;// 情况1:长度相等(可能只需要修改一个字符)if(m==n){intdiff=0;// 记录不同字符的数量for(inti=0;i<m;i++){if(A[i]!=B[i]){diff++;if(diff>1)returnfalse;// 超过1处不同}}returntrue;// 0或1处不同}// 情况2:长度差1(可能需要插入/删除一个字符)else{string&shorter=(m<n)?A:B;// 较短的字符串string&longer=(m<n)?B:A;// 较长的字符串inti=0,j=0;// 双指针intdiff=0;// 差异计数器while(i<shorter.size()&&j<longer.size()){if(shorter[i]!=longer[j]){diff++;if(diff>1)returnfalse;// 超过1处差异++j;// 只移动较长字符串的指针(模拟插入/删除)}else{++i;++j;}}returntrue;// 最多1处差异}}intmain(){intT;// 测试用例数量cin>>T;while(T--){string A,B;cin>>A>>B;// 输入两个字符串if(isSimilar(A,B)){cout<<"similar"<<endl;}else{cout<<"not similar"<<endl;}}return0;}

【运行结果】

5 apple applee similar apple appe similar apple bpple similar applee bpple not similar apple apple similar

B3959 做题

【题目来源】

洛谷:B3959 [GESP202403 四级] 做题 - 洛谷

【题目描述】

小杨同学为了提高自己的实力制定了做题计划,在第 天时,他必须要完成 道题,否则他就会偷懒。

小杨同学现在找到了一个题库,一共有n nn套题单,每一套题单中有一定数量的题目。但是他十分挑剔,每套题单他只会使用一次,每一天也只能使用一套题单里的题目,之后那套题单就会被弃之不用。对于每套题单,他不必完成 题单内所有的题。

那么问题来了,小杨同学最多会做题几天才偷懒呢?

【输入】

第一行,1 11个数为n nn,表示有多少套题单。

第二行,n nn个整数a 1 , a 2 , … , a n a_1,a_2,\dots, a_na1,a2,,an,分别表示每套题单有多少道题。

【输出】

输出一行,小杨同学偷懒前最多做题天数。

【输入样例】

4 3 1 4 1

【输出样例】

3

【算法标签】

《洛谷 B3959 做题》 #贪心# #排序# #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>// 包含所有标准库头文件usingnamespacestd;longlonga[1000005];// 定义全局数组存储数据intmain(){intn;cin>>n;// 输入数据数量// 读取n个数据for(inti=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);// 对数组进行升序排序intstart=1;// 搜索起始位置intans=0;// 最终答案// 计算最大满足天数for(inti=1;i<=n;i++){// i表示当前检查的天数for(intj=start;j<=n;j++){// 从start开始查找if(i<=a[j]){// 找到第一个满足a[j]≥i的位置ans=i;// 更新最大天数start=j+1;// 下次从下一个位置开始查找break;// 跳出内层循环}}}cout<<ans;// 输出结果return0;}

【运行结果】

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

小程序毕设项目推荐-基于Java语言开发的微信小程序校友交流与信息管理平台springboot+小程序的高校学院校友会系统【附源码+文档,调试定制服务】

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

作者头像 李华
网站建设 2026/5/1 21:10:05

兽医影像自适应特征选择误诊率直降

&#x1f4dd; 博客主页&#xff1a;Jax的CSDN主页 兽医影像的智能革命&#xff1a;自适应特征选择如何让误诊率直降40% 目录 兽医影像的智能革命&#xff1a;自适应特征选择如何让误诊率直降40% 引言&#xff1a;被忽视的兽医影像痛点 一、兽医影像的结构性痛点&#xff1a;为…

作者头像 李华
网站建设 2026/5/2 16:40:50

AI设计重构创作逻辑:从技能执行到创意表达

AI设计的本质&#xff0c;是用技术将创意从技能束缚中解放出来——过去做一张海报需要会PS、懂配色&#xff0c;现在只需把想表达的内容转化为明确指令&#xff0c;AI就能完成从灵感到成品的链路。这种转变不是工具的升级&#xff0c;而是创作逻辑的重构&#xff1a;从我要学设…

作者头像 李华
网站建设 2026/5/1 6:15:16

comsol三相电力变压器电磁场和电路耦合计算,可以得到变压器高低压绕组电压电流分布以及变压器...

comsol三相电力变压器电磁场和电路耦合计算&#xff0c;可以得到变压器高低压绕组电压电流分布以及变压器磁通密度分布&#xff0c;今天我们来聊聊如何在COMSOL中模拟三相电力变压器的电磁场和电路耦合计算。通过这个模拟&#xff0c;我们可以得到变压器高低压绕组的电压电流分…

作者头像 李华