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

2025年第十六届蓝桥杯省赛C++ A组真题

2025年第十六届蓝桥杯省赛C++ A组真题

      • 1.说明
      • 2.题目A:寻找质数(5分)
      • 3.题目B:黑白棋(5分)
      • 4. 题目C:抽奖(10分)
      • 5. 题目D:红黑树(10分)
      • 6. 题目E:黑客(15分)
      • 7. 题目F:好串的数目(15分)
      • 8. 题目G:地雷阵(20分)
      • 9. 题目H:扫地机器人(20分)

1.说明

    真题来源于十六届蓝桥杯赛后直播间,受大风天气影响的地区(北京、天津和河北)题目应该会变动,我这里参加的实际是河北C++研究生组。考虑到时间关系,将重点放在写研究生组真题上,所以C++ A组题目主要放题目资料,这里的题目要是想短时间给写出来还是太有挑战了,之后如果研究生组的题目看的差不多了再回来补一下A组题目,好像A组题目和研究生组题目难度差不多。

2.题目A:寻找质数(5分)

    如果一个正整数只能被 1 和它本身两个数整除,就称为一个质数。最小的几个质数依次是 2,3,5,7,11,13,···,请问,第 2025 个质数是多少?

#include <iostream>
#include <cmath>// 判断一个数是否为质数
bool isPrime(int num) {if (num < 2) return false;for (int i = 2; i <= std::sqrt(num); ++i) {if (num % i == 0) return false;}return true;
}int main() {int count = 0;int num = 2;while (true) {if (isPrime(num)) {++count;if (count == 2025) {std::cout << "第 2025 个质数是: " << num << std::endl;break;}}++num;}return 0;
}

3.题目B:黑白棋(5分)

    小蓝最近迷上了一款名为“黑白棋填充”的游戏。该游戏在一个方形网格棋盘上进行,其中部分格子已经填有黑色或白色的棋子,而其他格子为空,等待玩家填入棋子。游戏规则是,玩家需要按照以下规则填满整个棋盘,才能算作胜利:
(1) 黑白棋子数量均等:在每一行和每一列中,黑色棋子和白色棋子的数量必须相等。
(2)相邻棋子限制:在棋盘的任何一行或一列中,不能有超过两个相同颜色的棋子连续排列(即不允许出现“黑黑黑”或“白白白”的情况)。
(3)行列唯一性:每一行的棋子排列方式必须是唯一的,不能与棋盘中的任何其他行完全相同。每一列的棋子排列方式必须是唯一的,不能与棋盘中的任何其他列完全相同。行与列之间的棋子排列不作比较,即行可以与列相同,无需满足行列间的唯一性。
在这里插入图片描述
提示:二进制表示法搜索剪枝。100000000000000000001000001100001111。

4. 题目C:抽奖(10分)

    LQ 商场为了回馈广大用户,为在此消费的用户提供了抽奖机会:抽奖机有三个转轮,每个转轮上都分布有 n 个数字图案,标号为 1 ~ n ,按照从 1 到 n 顺序转动,当转到第 n 个图案时会从第一个继续开始。奖项如下:
(1)三个相同的图案,积分 +200 ;
(2)两个相同的图案,积分 +100 ;
(3)三个数字图案,从左到右连续(例如 1,2,3 ),积分 +200 ;
(4)三个数字图案,经过顺序调整后连续(例如 2,1,3 或 3,2,1 ),积分 +100 ;
    抽奖机处于初始状态,三个转轮都处于第一个位置。每次开始抽奖,都会产生三个对应的随机数 xi1,xi2 ,xi3 ,表示第 j 个转轮会向后转动 xij 次停下。下次抽奖时,转轮会从上一次转动后的位置开始继续转动。
    注意,一次抽奖最多只能获得一次积分,如果同时命中多个奖项,以积分最大的那个奖项为准。请问,如果执行 m 次抽奖,总积分值是多少?

【输入格式】
    输入的第一行包含一个正整数 n,表示转轮大小。
    第二行包含 n 个正整数 a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,,an,依次表示第一个转轮上的数字图案,相邻整数之间使用一个空格分隔。
    第三行包含 n 个正整数 b 1 , b 2 , ⋯ , b n b_1,b_2,\cdots,b_n b1,b2,,bn,依次表示第二个转轮上的数字图案,相邻整数之间使用一个空格分隔。
    第四行包含 n 个正整数 c 1 , c 2 , ⋯ , c n c_1,c_2,\cdots,c_n c1,c2,,cn,依次表示第三个转轮上的数字图案,相邻整数之间使用一个空格分隔。
    第五行包含一个整数 m,表示抽奖次数。
    接下来 ( m ) 行,每行包含三个正整数 (xi1,xi2,xi3),相邻整数之间使用一个空格分隔。
【输出格式】
    输出一行包含一个整数表示答案,即 ( m ) 次抽奖累计获得的积分的值。
【样例输入】

4
3 2 4 1
2 2 2 2
4 3 0 9
3
4 4 4
3 1 1
40 39 2

【样例输出】

300

【样例说明】
    三个转轮在初始状态下都在位置 1。
    第一次抽奖,三个转轮都转动 4 次,都转一整圈到达位置 1,三个转轮上的数字图案分别是 3、2、4,积分 +100;
    第二次抽奖,第一个转轮转动 3 次到达位置 4,第二个转轮转动 1 次到达位置 2,第三个转轮转动 1 次到达位置 2,三个转轮上的数字图案分别是 1、2、3,积分 +200;
    第三次抽奖,第一个转轮转动 40 次到达位置 4,第二个转轮转动 39 次到达位置 1,第三个转轮转动 2 次到达位置 4,三个转轮上的数字图案分别是 1、2、9,积分不增加。
    因此总积分为 300。

5. 题目D:红黑树(10分)

【问题描述】
    小蓝最近学习了红黑树,红黑树是一种特殊的二叉树,树上的结点有两种类型:红色结点和黑色结点。
    小蓝在脑海中构造出一棵红黑树,构造方式如下:
(1)根结点是一个红色结点;
(2)如果当前结点 curNode 是红色结点,那么左子结点 curNode.left 是红色结点,右子结点 curNode.right 是黑色结点;
(3)如果当前结点 curNode 是黑色结点,那么左子结点 curNode.left 是黑色结点,右子结点 curNode.right 是红色结点;
    此二叉树前几层的形态如下图所示:
在这里插入图片描述
【输入格式】
    输入的第一行包含一个正整数 ( m ),表示小蓝挑选的结点数。
    接下来 ( m ) 行,每行包含两个正整数 (ni,ki),用一个空格分隔,表示小蓝挑选的结点是第 ni 行(从上往下数)第 ki 个(从左往右数)结点。
【输出格式】
    输出 ( m ) 行,每行包含一个字符串,依次表示小蓝每次挑选的结点的答案。RED 表示红色结点,BLACK 表示黑色结点。
【样例输入】

2
1 1
2 2

【样例输出】

RED
BLACK

6. 题目E:黑客(15分)

【问题描述】
    小蓝正在两台电脑之间拷贝数据,数据是一个 (n×m) 大小的正整数矩阵,因此总共有 (n×m + 2) 个由空格分开的整数,其中前两个整数分别为 (n) 和 (m)。然而,有黑客入侵了小蓝的电脑,导致这 (n×m + 2) 个正整数的顺序被打乱了,小蓝想知道最多可能有多少个不同的原矩阵。
    两个矩阵相同当且仅当它们行数相同、列数分别相同,且每个位置上的数相同。
【输入格式】
    输入的第一行包含一个正整数 (n×m + 2)。
    第二行包含 (n×m + 2) 个正整数 (a1,a2,…,an×m + 2),相邻整数之间使用一个空格分隔。
【输出格式】
    输出一行包含一个整数表示答案。答案可能很大,请输出答案除以 1000000007 的余数。
【样例输入】

2 2 1 4 3 3

【样例输出】

24

7. 题目F:好串的数目(15分)

【问题描述】
    对于一个长度为 (n) 的字符串 (s = s0s1…sn-1) 来说,子串的定义是从中选出两个下标 l,r(0 ≤ l ≤ r ≤n-1),这之间所有的字符组合起来的一个新的字符串:(s’ = sl…sr) 就是其中一个子串。
    现在给出一个只有数字字符 0~9 组成的数字字符串,小蓝想要知道在其所有的子串中,有多少个子串是好串。一个子串是好串,当且仅当它满足以下两个条件之一:
(1)单字符子串一定是好串,即当子串长度为 1 时,它总是好串;
(2)长度大于 1 时,可以拆分为两个连续非递减子串。
    其中,一个串 (p = p0p1…pn-1) 为连续非递减子串是指,对于所有 (1≤ i < k),满足 (pi = pi-1) 或 (pi = pi-1+1)。即数字串中的每一个数字,要么等于上一个数字,要么等于上一个数字加 1。例如 12233、456 是连续非递减子串。
【输入格式】
    输入一行包含一个字符串 (s)。
【输出格式】
    输出一行包含一个整数表示答案,即好串的数目。
【样例输入】

12258

【样例输出】

12

【样例说明】
    长度为1的好串:1、2、2、5、8。它们长度都为1,都是好串。
    长度为2的好串:12、22、25、58。12可以分割为1、2两个连续非递减子串,其它类似。
    长度为3的好串:122、225。122可以分割为12、2两个连续非递减子串;225可以分割为22、5两个连续非递减子串。
    长度为4的好串:1225。1225可以分割为122、5两个连续非递减子串。
    总计12个好串。

8. 题目G:地雷阵(20分)

【问题描述】
    小蓝正在平面直角坐标系中的第一象限里玩一个逃生小游戏,在第一象限中埋有 (n) 颗地雷,第 i 颗地雷的坐标为 (xi, yi),触发范围为以 (xi, yi) 为圆心,半径为 ri 的圆。一旦小蓝走进了圆内就会触发地雷导致游戏失败。小蓝初始在原点 (0,0) 上,他需要在第一象限内选择一个方向一直往前走,如果能不触发任何地雷即可成功通关游戏。他想知道在 [0,π/2] 中均匀随机选择一个方向,即在 (0°)(朝向 x 轴正方向)至 90°(朝向 y 轴正方向)之间随机选择一个方向,通关游戏的概率是多少?
【输入格式】
    输入的第一行包含一个正整数 (n)。
接下来 (n) 行,每行包含三个正整数 (xi, yi),相邻整数之间使用一个空格分隔。
【输出格式】
    输出一行包含一个实数,四舍五入保留三位小数,表示答案。
【样例输入】

2
1 3 1
3 1 1

【样例输出】

0.181

9. 题目H:扫地机器人(20分)

【问题描述】
    在一个含有 n 个点 n 条边的无重边无自环的连通无向图中,有一个扫地机器人在执行清扫作业,其中结点 i 的标记 ti ∈{0, 1},如果为 1,则说明该结点需要进行清扫,扫地机器人在到达这个结点时会顺便进行清扫工作。机器人想知道,如果选定任意结点出发,每条边只能经过一次的话,最多能清扫多少个待清扫结点?
【输入格式】
    输入的第一行包含一个正整数 n。
    第二行包含 n 个整数 t1, t2, … , tn,相邻整数之间使用一个空格分隔。
    接下来 n 行,每行包含两个正整数 ui, vi,用一个空格分隔,表示结点 ui 和结点 vi 之间有一条边。
【输出格式】
    输出一行包含一个整数表示答案。
【样例输入】

9
1 0 1 0 0 1 1 0 1
2 8
2 9
2 5
1 5
1 3
1 4
4 5
4 6
6 7

【样例输出】

4

【样例说明】
    其中一种路线:3 → 1 → 4 → 6 → 7。
    到这里就结束啦,整理不易,欢迎关注【Jerry说前后端】、点赞并分享,获取更多前端和算法知识。

相关文章:

2025年第十六届蓝桥杯省赛C++ A组真题

2025年第十六届蓝桥杯省赛C A组真题 1.说明2.题目A&#xff1a;寻找质数&#xff08;5分&#xff09;3.题目B&#xff1a;黑白棋&#xff08;5分&#xff09;4. 题目C&#xff1a;抽奖&#xff08;10分&#xff09;5. 题目D&#xff1a;红黑树&#xff08;10分&#xff09;6. 题…...

asp.net Kestrel 和iis区别

Kestrel 和 IIS 都是用于托管 Web 应用程序的服务器&#xff0c;不过它们在多个方面存在显著差异&#xff0c;下面为你详细分析&#xff1a; 1. 所属平台与跨平台能力 Kestrel&#xff1a;是.NET Core 及后续版本的一部分&#xff0c;具备跨平台特性&#xff0c;可在 Windows…...

《植物大战僵尸融合版v2.4.1》,塔防与创新融合的完美碰撞

《植物大战僵尸融合版》是基于经典塔防游戏《植物大战僵尸》的创意同人改版&#xff0c;由“蓝飘飘fly”等开发者主导制作。它在保留原版核心玩法的基础上&#xff0c;引入了独特的植物融合机制&#xff0c;玩家可以将不同的植物进行组合&#xff0c;创造出全新的植物种类&…...

SGP4 基于C、C++安装指南

简介&#xff1a;SGP4 是一个用于简化轨道摄动模型的开源项目。 依赖&#xff1a;GCC/CLang&#xff0c; CMake 下载&#xff1a;GitCode - 全球开发者的开源社区,开源代码托管平台 &#xff08;https://gitcode.com/gh_mirrors/sg/sgp4&#xff09;或者从我的资源下载 https…...

SBTI认证的意义,什么是SBTI认证,sbti科学碳目标的好处

SBTI认证的意义与科学碳目标&#xff08;SBT&#xff09;的好处 1. 什么是SBTI认证&#xff1f; SBTI&#xff08;Science Based Targets initiative&#xff0c;科学碳目标倡议&#xff09;是由全球环境信息研究中心&#xff08;CDP&#xff09;、联合国全球契约&#xff08…...

[LeetCode 1696] 跳跃游戏 6(Ⅵ)

题面&#xff1a; LeetCode 1696 数据范围&#xff1a; 1 ≤ n u m s . l e n g t h , k ≤ 1 0 5 1 \le nums.length, \ k \le 10^5 1≤nums.length, k≤105 − 1 0 4 ≤ n u m s [ i ] ≤ 1 0 4 -10^4 \le nums[i] \le 10^4 −104≤nums[i]≤104 思路 & Code 重点&…...

在思科模拟器show IP route 发现Gateway of last resort is not set没有设置最后的通道

如果在show ip route的时候出现没有设置最后的通道Gateway of last resort is not set Switch#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA exte…...

Redis 常问知识

1.Redis 缓存穿透问题 缓存穿透&#xff1a;当请求的数据在缓存和数据库中不存在时&#xff0c;该请求就跳出我们使用缓存的架构&#xff08;先从缓存找&#xff0c;再从数据库查找、这样就导致了一直去数据库中找&#xff09;&#xff0c;因为这个数据缓存中永远也不会存在。…...

履带小车+六轴机械臂(2)

本次介绍原理图部分 开发板部分&#xff0c;电源供电部分&#xff0c;六路舵机&#xff0c;PS2手柄接收器&#xff0c;HC-05蓝牙模块&#xff0c;蜂鸣器&#xff0c;串口&#xff0c;TB6612电机驱动模块&#xff0c;LDO线性稳压电路&#xff0c;按键部分 1、开发板部分 需要注…...

多卡集群 - Docker命令来启动一个容器的实例

一、Docker下载安装及相关配置 桌面版&#xff1a;Docker Desktop: The #1 Containerization Tool for Developers | Docker 服务器版&#xff1a;Install | Docker Docs 我们先以windows桌面版为例进行安装&#xff0c;一般在公司里会使用服务器版本&#xff0c;后期也会出一…...

测试第三课-------自动化测试相关

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…...

【C++教程】进制转换的实现方法

在C中进行进制转换可以通过标准库函数或自定义算法实现。以下是两种常见场景的转换方法及示例代码&#xff1a; 一、使用C标准库函数 任意进制转十进制 #include <string> #include <iostream>int main() {std::string num "1A3F"; // 十六进制数int…...

科普:如何通过ROC曲线,确定二分类的“理论阈值”

在二分类问题中&#xff0c;已知预测概率&#xff08;如逻辑回归、神经网络输出的概率值&#xff09;时&#xff0c;阈值的选择直接影响分类结果&#xff08;正/负样本判定&#xff09;。 一、实践中的阈值选择方法 1. 基于业务目标的调整 最大化准确率&#xff1a;适用于样…...

ebpf: CO-RE, BTF, and Libbpf(二)

本文内容主要来源于Learning eBPF&#xff0c;可阅读原文了解更全面的内容。 本文涉及源码也来自于书中对应的github&#xff1a;https://github.com/lizrice/learning-ebpf/ 概述 上篇文章主要讲了CO-RE最关键的一环&#xff1a;BTF&#xff0c;了解其如何记录内核中的数据结…...

祁连山国家公园shp格式数据

地理位置 祁连山国家公园位于中国西北部&#xff0c;横跨甘肃省与青海省交界处&#xff0c;主体处于青藏高原东北边缘。总面积约5.02万平方公里&#xff0c;是中国首批设立的10个国家公园之一。 设立背景 保护措施 文化与历史 旅游与教育 意义与挑战 祁连山国家公园的设立标志…...

《AI大模型应知应会100篇》 第16篇:AI安全与对齐:大模型的灵魂工程

第16篇&#xff1a;AI安全与对齐&#xff1a;大模型的灵魂工程 摘要 在人工智能技术飞速发展的今天&#xff0c;大型语言模型&#xff08;LLM&#xff09;已经成为推动社会进步的重要工具。然而&#xff0c;随着这些模型能力的增强&#xff0c;如何确保它们的行为符合人类的期…...

探索QEMU-KVM虚拟化:麒麟系统下传统与云镜像创建虚拟机的最佳实践

随着云计算和虚拟化技术的不断进步&#xff0c;虚拟化在管理服务器、隔离资源以及提升性能方面的好处越来越明显。麒麟操作系统Kylin OS是我们国家自己开发的操作系统&#xff0c;在政府机构和企业中用得很多。这篇文章会教你如何在麒麟操作系统上设置QEMU-KVM虚拟化环境&#…...

[ComfyUI] 最新控制模型EasyControl,吉卜力风格一键转绘

一、EasyControl介绍 玩ComfyUI的都知道Controlnet的重要性&#xff0c;可以根据约束来引导图片的生成&#xff0c;这也是ComfyUI商业化里面很重要的一环。 不过之前我们用的Controlnet都是基于Unet技术框架下的。 最近出的这个EasyControl有点不一样&#xff0c;是基于DiT&a…...

项目执行中的目标管理:从战略到落地的闭环实践

——如何让目标不“跑偏”、团队不“掉队”&#xff1f; 引言&#xff1a;为什么目标管理决定项目成败&#xff1f; 根据PMI研究&#xff0c;47%的项目失败源于目标模糊或频繁变更。在复杂多变的项目环境中&#xff0c;目标管理不仅是制定KPI&#xff0c;更是构建“方向感-执行…...

《计算机视觉度量:从特征描述到深度学习》—深度学习工业检测方案评估

谢谢各位粉丝的支持&#xff0c;过去了一年多才再次更新技术博客。原因是个人家庭和技术发展在这短短一年多&#xff0c;发生了很大变化。本人身为技术博主&#xff0c;也在不断的探索和研究新技术在工业检测领域的技术方案。 并在这期间已经完成了基础的工业检测大模型的设计…...

网页防篡改与盗链防护:实时监控与自动化修复实践

摘要&#xff1a;针对网页内容篡改与盗链问题&#xff0c;本文基于群联AI云防护系统&#xff0c;详解如何通过哈希校验、实时监控与CDN联动实现秒级修复&#xff0c;并提供Python与AWS S3集成代码。 一、网页安全的核心需求 防篡改&#xff1a;保障页面内容完整性&#xff0c;…...

LR(0)

LR0就是当我处在自动机为红色这些结束状态的时候&#xff0c;这些红色状态就代表我们识别到了一个句柄&#xff0c;那现在的问题就是识别到了句柄&#xff0c;那要不要对他进行归约&#xff1f;LR0就是我不管当前指针指向的终结符是什么&#xff0c;我都拿它做规约 这里的二号状…...

鸿蒙开发-页面跳转

1.路由使用 //1.引入路由 import router from ohos.router//2.使用跳转router.pushUrl({url: "pages/Show"})2.页面跳转 import { router } from kit.ArkUI;Entry Component struct LoginPage {State message: string 登陆页;build() {Row() {Column() {Text(this…...

#MES系统中的一些相关的名词

&#x1f4cc;MES系统 部分 术语表 缩写英文全称中文名称详细解释MESManufacturing Execution System制造执行系统用于连接计划系统与生产现场&#xff0c;实时管理和控制整个生产过程&#xff0c;覆盖物料、人员、设备、质量、指令等。ERPEnterprise Resource Planning企业资…...

无人船 | 图解基于视线引导(LOS)的无人艇制导算法

目录 1 视线引导法介绍2 LOS制导原理推导3 Lyapunov稳定性分析4 LOS制导效果 1 视线引导法介绍 视线引导法&#xff08;Line of Sight, LOS&#xff09;作为无人水面艇&#xff08;USV&#xff09;自主导航领域的核心技术&#xff0c;通过几何制导与动态控制深度融合的机制&am…...

LeetCode LCR157 套餐内商品的排列顺序

生成字符串的全部排列&#xff08;去重&#xff09;&#xff1a;从问题到解决方案的完整解析 问题背景 在编程和算法设计中&#xff0c;生成字符串的所有排列是一个经典问题。它不仅出现在算法竞赛中&#xff0c;也在实际开发中有着广泛的应用&#xff0c;比如生成所有可能的…...

3.2.2.3 Spring Boot配置拦截器

在Spring Boot应用中配置拦截器&#xff08;Interceptor&#xff09;可以对请求进行预处理和后处理&#xff0c;实现如权限检查、日志记录等功能。通过实现HandlerInterceptor接口并注册到Spring容器&#xff0c;拦截器可以自动应用到匹配的请求路径。案例中&#xff0c;创建了…...

cryptozombies合约6

我们就快完成我们的随机僵尸制造器了&#xff0c;来写一个公共的函数把所有的部件连接起来。 写一个公共函数&#xff0c;它有一个参数&#xff0c;用来接收僵尸的名字&#xff0c;之后用它生成僵尸的DNA。 实战演习 创建一个 public 函数&#xff0c;命名为 createRandomZom…...

大模型文生图

提示词分4个部分&#xff1a;质量&#xff0c;主体&#xff0c;元素&#xff0c;风格 质量&#xff1a;杰作&#xff0c;高质量&#xff0c;超细节&#xff0c;完美的精度&#xff0c;高分辨率&#xff0c;大师级的&#xff1b; 权重&#xff1a;把图片加括号&#xff0c;&am…...

.NET MCP 示例

服务器端示例 基础服务器 以下是一个基础的 MCP 服务器示例&#xff0c;它使用标准输入输出&#xff08;stdio&#xff09;作为传输方式&#xff0c;并实现了一个简单的回显工具&#xff1a; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.H…...