当前位置: 首页 > news >正文

GESP认证C++编程真题解析 | 202412 三级

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

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

适合人群:

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

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


编程题

B4066 数字替换

【题目来源】

洛谷:B4066 [GESP202412 三级] 数字替换 - 洛谷 (luogu.com.cn)

【题目描述】

小杨有一个包含 \(n\) 个数字的序列 \(A\),即 \(A=[a_1,a_2,...,a_n]\),他想将其中大于 \(k\) 的数字都替换为序列的最大值,将其中小于 \(k\) 的数字都替换为序列的最小值,请你帮他计算出替换后的序列。

【输入】

第一行包含两个正整数 \(n,k\),含义如题面所示。

第二行包含 \(n\) 个数字,代表序列 \(A\)

【输出】

输出 \(n\) 个整数,代表替换后的结果。

【输入样例】

5 0
-2 -1 0 1 2

【输出样例】

-2 -2 0 2 2

【算法标签】

《洛谷 B4066 数字替换》 #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 100005;  // 定义常量N,表示数组的最大大小
int n, k;              // n: 数组长度,k: 参考值
int a[N];              // a: 存储数组元素
int minn = 1e9, maxn = -1e9;  // minn: 数组中的最小值,maxn: 数组中的最大值int main() {cin >> n >> k;  // 输入数组长度n和参考值k// 遍历数组,输入元素并计算最小值和最大值for (int i = 1; i <= n; i++) {cin >> a[i];minn = min(minn, a[i]);  // 更新最小值maxn = max(maxn, a[i]);  // 更新最大值}// 遍历数组,根据参考值k更新数组元素for (int i = 1; i <= n; i++) {if (a[i] > k) {a[i] = maxn;  // 如果元素大于k,将其替换为最大值} else if (a[i] < k) {a[i] = minn;  // 如果元素小于k,将其替换为最小值}}// 输出更新后的数组for (int i = 1; i <= n; i++) {cout << a[i] << " ";}cout << endl;return 0;
}

【运行结果】

5 0
-2 -1 0 1 2
-2 -2 0 2 2

B4067 打印数字

【题目描述】

洛谷:B4067 [GESP202412 三级] 打印数字 - 洛谷

【题目描述】

小杨为数字 \(0,1,2\)\(3\) 设计了一款表示形式,每个数字占用了 \(5×5\) 的网格。数字 \(0,1,2\)\(3\) 的表示形式如下:

..... ****. ..... .....
.***. ****. ****. ****.
.***. ****. ..... .....
.***. ****. .**** ****.
..... ****. ..... .....

小杨想请你将给定的数字 \(n\) 转换为对应的表示形式。

【输入】

第一行包含一个正整数代表 \(n\)

【输出】

输出对应的表示形式。

【输入样例】

12230

【输出样例】

****.....................
****.****.****.****..***.
****.................***.
****..****.********..***.
****.....................

【算法标签】

《洛谷 B4067 打印数字》 #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int n;  // 未使用的变量,可以删除
string s[5];  // 存储最终输出的5行字符串
string a[10][5];  // 存储数字0-9的5行点阵表示
string str;  // 输入的数字字符串int main() {// 初始化数字0的点阵表示a[0][0] = ".....";a[0][1] = ".***.";a[0][2] = ".***.";a[0][3] = ".***.";a[0][4] = ".....";// 初始化数字1的点阵表示a[1][0] = "****.";a[1][1] = "****.";a[1][2] = "****.";a[1][3] = "****.";a[1][4] = "****.";// 初始化数字2的点阵表示a[2][0] = ".....";a[2][1] = "****.";a[2][2] = ".....";a[2][3] = ".****";a[2][4] = ".....";// 初始化数字3的点阵表示a[3][0] = ".....";a[3][1] = "****.";a[3][2] = ".....";a[3][3] = "****.";a[3][4] = ".....";// 读取输入的数字字符串cin >> str;// 将每个数字的点阵表示拼接到输出字符串中for (int i = 0; i < str.size(); i++) {int t = str[i] - '0';  // 将字符转换为数字for (int j = 0; j < 5; j++) {s[j] += a[t][j];  // 将数字t的第j行拼接到输出字符串的第j行// 注释掉的代码:可以在数字之间添加分隔符// if (i != str.size() - 1) s[j] += ".";}}// 输出结果for (int i = 0; i < 5; i++) {cout << s[i] << endl;}return 0;
}

【运行结果】

12230
****.....................
****.****.****.****..***.
****.................***.
****..****.********..***.
****.....................
http://www.jsqmd.com/news/261931/

相关文章:

  • GESP认证C++编程真题解析 | 202412 四级
  • 通义千问2.5-7B-Instruct保姆级教程:从零开始GPU部署实操
  • MinerU 2.5代码实例:批量处理PDF文档的自动化脚本
  • selenium全局搜索
  • UDS 31服务ECU实现过程中的常见问题解析
  • 体验最新AI模型入门必看:云端GPU按需付费成主流
  • 虚拟手柄终极指南:如何用vJoy将键盘变成专业游戏控制器
  • 网盘直链下载助手:八大平台真实下载地址一键获取终极指南
  • 从零实现干净系统状态:Vivado完整卸载方案
  • AI手势识别与追踪多语言支持:国际化部署方案
  • IQuest-Coder-V1推理卡顿?显存优化部署实战案例解析
  • BGE-Reranker-v2-m3优化方案:降低企业检索系统成本
  • 深度学习实战:SpliceAI基因剪接变异预测完整解析
  • 5分钟掌握网盘全速下载秘籍:免费工具助你告别龟速下载
  • LabVIEW与Multisim共存时数据库权限冲突实战解析
  • Qwen3-Embedding-4B应用研究:跨语言信息检索方案
  • 零基础入门UI-TARS-desktop:内置Qwen3-4B模型一键启动指南
  • 网盘直链下载助手:八大主流网盘高速下载完整指南
  • 如何快速掌握jsPDF:前端PDF生成的完整实践指南
  • 如何高效解析复杂文档?试试PaddleOCR-VL-WEB多语言SOTA方案
  • PowerToys图像调整器:3分钟掌握批量图片尺寸处理的终极方案
  • DLSS Swapper终极指南:一键优化游戏性能的免费神器
  • 通义千问3-4B如何提升吞吐?vLLM并行处理部署教程
  • MinerU文档链接提取系统:参考文献自动收集
  • socat-windows终极使用指南:10个核心场景解决方案
  • encoderfile 分发以及运行tansformer 编码为单一文件的工具
  • 如何5步解锁网盘下载新体验:八大云盘免会员高速下载秘籍
  • ComfyUI Essentials终极指南:5大核心功能让AI图像处理效率翻倍
  • 如何快速提升网盘下载速度:终极直链解析指南
  • 八大云盘高速下载神器:免登录直链解析全攻略