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

news2025/4/16 19:31:39

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说前后端】、点赞并分享,获取更多前端和算法知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2335166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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;创造出全新的植物种类&…

[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 重点&…

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…

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…

LR(0)

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

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

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

3.2.2.3 Spring Boot配置拦截器

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

大模型文生图

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

LeetCode 118题解 | 杨辉三角

题目链接: https://leetcode.cn/problems/pascals-triangle/description/ 题目如下&#xff1a; 解题过程如下&#xff1a; 杨辉三角就是一个不规则的二维数组&#xff0c;实际上是一个直角三角形。如图所示&#xff1a; 杨辉三角特点&#xff1a;每一行的第一个和最后一个都是…

『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解

『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解 Pod 结构 每个 Pod 中都可以包含一个或者多个容器&#xff0c;这些容器可以分为两类 用户程序所在的容器&#xff0c;数量可多可少Pause 容器&#xff0c;这是每个 Pod 都会有的一个根容器&#xff0c;它的作用有两个 可…

数据库索引深度解析:原理、类型与高效使用实践

&#x1f9e0; 一句话理解索引是什么&#xff1f; 索引就是数据库中的“目录”或“书签”&#xff0c;它能帮助我们快速找到数据的位置&#xff0c;而不是一页页地翻整本书。 &#x1f9e9; 一、为什么需要索引&#xff1f;&#xff08;用生活化例子秒懂&#xff09; 想象你在…

React 记账本项目实战:多页面路由、Context 全局

在本文中,我们将分享一个使用 React 开发的「记账本」项目的实战经验。该项目通过 VS Code 完成,包含首页、添加记录页、编辑页等多个功能页面,采用了 React Router 实现路由导航,使用 Context API 管理全局的交易记录状态,并引入数据可视化组件呈现不同月份的支出情况。项…