小蓝是一名计算机专业的学生,最近他学习了《操作系统》、《数据结构》 等课程,他设计了一种名为 “冷热数据队列” 的数据结构,来对数据页进行管理。
冷热数据队列 q 可以看做由两个子队列组成:长度为 n1 的热数据队列 q1 和长度为 n2 的冷数据队列 q2 。当我们需要访问某个数据页 p 时:
1)若 p 不在队列 q 中(即既不在 q1 中,也不在 q2 中),则加载数据页 p ,并插入到 q2 的首部。
2)若 p 已经在队列 q 中,则将 p 移动至 q1 首部。
3)当 q1 或 q2 队列容量不足时,会将其尾部的数据页淘汰出去。
4)当 q1 已满,但 q2 未满时,从 q1 中淘汰出的数据页会移动到 q2 首部。
输入的第一行包含两个正整数 n1, n2 ,用一个空格分隔。
第二行包含一个整数 m ,表示操作次数。
第三行包含 m 个正整数 v1, v2, · · · , vm ,表示依次访问到的数据页的编号, 相邻整数之间使用一个空格分隔。
输出两行。
第一行包含若干个整数,相邻整数之间使用一个空格分隔,依次表示 q1 中 的数据页。
第二行包含若干个整数,相邻整数之间使用一个空格分隔,依次表示 q2 中 的数据页。
3 3 10 1 2 3 4 3 2 2 1 3 4
4 3 2 1
【样例说明】

【评测用例规模与约定】
对于 20% 的评测用例,1 ≤ n1, n2 ≤ 10 ,1 ≤ m ≤ 10 ;
对于 40% 的评测用例,1 ≤ n1, n2 ≤ 20 ,1 ≤ m ≤ 100 ;
对于 60% 的评测用例,1 ≤ n1, n2 ≤ 100 ,1 ≤ m ≤ 1000 ;
对于 80% 的评测用例,1 ≤ n1, n2 ≤ 103 , 1 ≤ m ≤ 104 ;
对于所有评测用例,1 ≤ n1, n2 ≤ 104 ,1 ≤ m ≤ 105 ,0 ≤ vi ≤ 104 。
2025年第十六届蓝桥杯大赛软件赛省赛C/C++大学C组真题(注意后面还有2个填空题)
【选手须知】
考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。
考试时间为 4 小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。
时间截止后,将无法继续提交或浏览答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它 方式提交的答案无效。
试题包含“结果填空”和“程序设计”两种题型。
结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。
程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。 考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。 选手的程序必须是通用的,不能只对试卷中给定的数据有效。
对于编程题目,要求选手给出的解答完全符合 GNU C/C++ 标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的 API。
代码中允许使用 STL 类库。
注意: main 函数结束必须返回 0。
注意: 所有依赖的函数必须明确地在源文件中 #include
所有源码必须在同一文件中。调试通过后,拷贝提交。
提交时,注意选择所期望的编译器类型。
试题 A: 数位倍数 (本题总分:5 分)
【问题描述】
请问在 1 至 202504 (含)中,有多少个数的各个数位之和是 5 的整数倍。 例如:5 、19 、8025 都是这样的数。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 B: 2025 (本题总分:5 分)
【问题描述】
求 1 ∼ 20250412 中,有多少个数可以通过改变其数字顺序后含有 2025 。
例如,5220 、21520 可以,而 205 、225 、2200 、222555111 则不行。
提示:要求的数就是含有至少 1 个 0 、2 个 2 、1 个 5 的数。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。