2026年第十七届蓝桥杯软件赛省赛C/C++大学C组真题

题集介绍

2026年第十七届蓝桥杯软件赛省赛【选手须知】

考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。

考试时间为 4 小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。时间截止后,将无法继续提交或浏览答案。

对同一题目,选手可多次提交答案,以最后一次提交的答案为准。

选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。

试题包含“结果填空”和“程序设计”两种题型。

结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。

程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。

考生的程序只有能运行出正确结果才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对于编程题目,要求选手给出的解答完全符合 GNU C/C++ 标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的 API。

代码中允许使用 STL 类库。

注意:main 函数结束必须返回 0。

注意: 所有依赖的函数必须明确地在源文件中 #include

所有源码必须在同一文件中。调试通过后,拷贝提交。

提交时,注意选择所期望的编译器类型。


试题 A: 魔法矩阵能量值(本题总分:5 分)

【问题描述】对于一个 n × n 的魔法矩阵 M,我们定义其能量值计算规则如下:

  1. 基础能量:位于位置 (i, j) 的元素的基础能量为 i × j × (i + j)

    2. 对角线加成:位于主对角线(即位于 (1, 1),(2, 2), . . . ,(n, n))上的元素能量值翻倍

    3. 边界惩罚:位于矩阵边界(即第 1 行、第 n 行、第 1 列、第 n 列)上的元素能量值减半;若一个元素同时位于多条边界,其能量值仅减半一次。

    4. 中心奖励:如果 n 为奇数,位于中心位置 ((n+1)2,(n+1)2) 的元素的能量值额外增加 100。

重要提醒:当一个位置满足多个条件时,必须严格按照上述顺序依次计算,即先算基础能量,再算对角线加成,再算边界惩罚,最后算中心奖励。

矩阵的总能量值是所有位置能量值的和。

示例 1:一个 2 × 2 矩阵的完整计算过程如下:

• 位置 (1, 1):基础能量 1×1×2 = 2,主对角线翻倍为 4,边界惩罚 ÷2 = 2,n 为偶数无中心奖励,能量值 = 2

• 位置 (1, 2):基础能量 1×2×3 = 6,非主对角线无加成,边界惩罚 ÷2 = 3,n 为偶数无中心奖励,能量值 = 3

• 位置 (2, 1):基础能量 2×1×3 = 6,非主对角线无加成,边界惩罚 ÷2 = 3,n 为偶数无中心奖励,能量值 = 3

• 位置 (2, 2):基础能量 2 × 2 × 4 = 16,主对角线翻倍为 32,边界惩罚÷2 = 16,n 为偶数无中心奖励,能量值 = 16总能量值:2 + 3 + 3 + 16 = 24。

示例 2:一个 3 × 3 矩阵的完整计算过程如下:

• 位置 (1, 1):基础能量 1×1×2 = 2,主对角线翻倍为 4,边界惩罚 ÷2 = 2,非中心无奖励,能量值 = 2

• 位置 (1, 2):基础能量 1×2×3 = 6,非主对角线无加成,边界惩罚 ÷2 = 3,非中心无奖励,能量值 = 3

• 位置 (1, 3):基础能量 1 × 3 × 4 = 12,非主对角线无加成,边界惩罚÷2 = 6,非中心无奖励,能量值 = 6

• 位置 (2, 1):基础能量 2×1×3 = 6,非主对角线无加成,边界惩罚 ÷2 = 3,非中心无奖励,能量值 = 3

• 位置 (2, 2):基础能量 2 × 2 × 4 = 16,主对角线翻倍为 32,不在边界无惩罚,中心奖励 +100 = 132,能量值 = 132

• 位置 (2, 3):基础能量 2 × 3 × 5 = 30,非主对角线无加成,边界惩罚÷2 = 15,非中心无奖励,能量值 = 15

• 位置 (3, 1):基础能量 3 × 1 × 4 = 12,非主对角线无加成,边界惩罚÷2 = 6,非中心无奖励,能量值 = 6

• 位置 (3, 2):基础能量 3 × 2 × 5 = 30,非主对角线无加成,边界惩罚÷2 = 15,非中心无奖励,能量值 = 15

• 位置 (3, 3):基础能量 3 × 3 × 6 = 54,主对角线翻倍为 108,边界惩罚÷2 = 54,非中心无奖励,能量值 = 54

    总能量值:2 + 3 + 6 + 3 + 132 + 15 + 6 + 15 + 54 = 236。

现在,请你计算 13 × 13 的魔法矩阵的总能量值是多少。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


试题 B: 量子 2048(本题总分:5 分)

【问题描述】

深蓝色的量子冷冻稀释制冷机正在平稳运行,这里是 “国家量子安全实验室” 的核心机房。

小蓝作为 “量子 2048” 战略工程的首席架构师,正盯着屏幕上的一块2048 × 2048 的量子比特逻辑阵列。这块阵列是构建超大规模量子计算机的基础单元,每一个比特位点必须被初始化为两种状态之一:L(低能级状态)或 Q(量子激发态)。

为了通过严苛的 “国家量子安全实验室” 准入审计,阵列的逻辑分布必须严格遵循以下三项由量子纠缠动力学推导出的校验准则:

  1. 行量子奇偶校验:阵列中的每一行,处于 Q 状态的比特数量必须为奇数。

   2. 列量子奇偶校验:阵列中的每一列,处于 Q 状态的比特数量必须为奇数。

   3. 局部纠缠约束校验:阵列中任意一个 2 × 2 的子区域(阵列中行列连续、相邻紧贴的 2 行 2 列网格区块),处于 Q 状态的比特数量必须为奇数。阵列中哪怕只有一个   局部区域不符合准则,整个芯片在超导状态下就会发生量子退相干,导致计算失败。

小蓝想要计算出,在 2048 × 2048 的固定规格下,理论上存在多少种不同的初始化填充方案能够通过审计。

现在,作为小蓝的算法顾问,请你帮助他完成计算。由于方案数可能很大,请将结果对 998244353 取模后输出。

【答案提交】

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。