对于一个长度为 n 的字符串 s = s0 s1 · · · sn−1 来说,子串的定义是从中选出 两个下标 l,r (0 ≤ l ≤ r ≤ n − 1),这之间所有的字符组合起来的一个新的字符串: s’ = slsl+1 · · · sr 就是其中一个子串。
现在给出一个只有数字字符 0 ∼ 9 组成的数字字符串,小蓝想要知道在其 所有的子串中,有多少个子串是好串。一个子串是好串,当且仅当它满足以下 两个条件之一:
1)单字符子串一定是好串,即当子串长度为 1 时,它总是好串;
2)长度大于 1 时,可以拆分为两个连续非递减子串。
其中,一个串 p = p0 p1 . . . pk−1 为连续非递减子串 是指,对于所有 1 ≤ i < k ,满足 pi = pi−1 或 pi = pi−1 + 1 。即数字串中的每一个数字,要么等于上一个 数字,要么等于上一个数字加 1 。例如 12233 、456 是连续非递减子串。
输入一行包含一个字符串 s 。
输出一行包含一个整数表示答案,即好串的数目 。
12258
12
【样例说明 1】
长度为 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 个好串。
【样例输入 2】
97856
【样例输出 2】
13
【样例说明 2】
长度为 1 的好串:9 、7 、8 、5 、6 ;长度为 2 的好串:97 、78 、85 、 56 ;长度为 3 的好串:978 、785 、856 ;长度为 4 的好串:7856 ;
总计 13 个好串。
【评测用例规模与约定】
本题中,n 表示字符串 s 的长度。
对于 20% 的评测用例,1 ≤ n ≤ 5 ;
对于 40% 的评测用例,1 ≤ n ≤ 20 ;
对于 60% 的评测用例,1 ≤ n ≤ 100 ;
对于 70% 的评测用例,1 ≤ n ≤ 103 ;
对于 80% 的评测用例,1 ≤ n ≤ 104 ;
对于所有评测用例,1 ≤ n ≤ 105,s 中只包含数字字符 0 ∼ 9 。
2025年第十六届蓝桥杯软件赛省赛C/C++大学A组真题
试题A: 寻找质数(本题总分:5分)
【问题描述】 如果一个正整数只能被1和它本身两个数整除,就称为一个质数。最小的 几个质数依次是2,3,5,7,11,13,··· 请问,第2025 个质数是多少?
【答案提交】 这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题B: 黑白棋(本题总分:5分)
【问题描述】 小蓝最近迷上了一款名为“黑白棋填充”的游戏。该游戏在一个方形网格棋 盘上进行,其中部分格子已经填有黑色或白色的棋子,而其他格子为空,等待 玩家填入棋子。 游戏规则是,玩家需要按照以下规则填满整个棋盘,才能算作胜利:
1.黑白棋子数量均等:
在每一行和每一列中,黑色棋子和白色棋子的数量必须相等。
2. 相邻棋子限制:
在棋盘的任何一行或一列中,不能有超过两个相同颜色的棋子连续排列 (即不允许出现“黑黑黑”’或“白白白”的情况)。
3. 行列唯一性:
每一行的棋子排列方式必须是唯一的,不能与棋盘中的任何其他行完全相 同。 每一列的棋子排列方式必须是唯一的,不能与棋盘中的任何其他列完全相 同。 行与列之间的棋子排列不作比较,即行可以与列相同,无需满足行列间的 唯一性。
现在有一个6×6的棋盘,如上图所示,其中部分格子已填入棋子(黑色或 白色),其余格子需要你填充,题目保证有唯一解。
请给出唯一的正确解,并按照以下格式输出答案: 黑色棋子用1表示,白色棋子用0表示。
从左到右、从上到下的顺序,依次遍历棋盘上的所有格子,并将这些值拼 接成一个长度为36的字符串。
例如,假设最终填充完成后的棋盘如下(仅为示例,并非真实答案):
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 0 1 1 1 1
则输出结果应为:100000000000000000001000001100001111。
【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个数字字符串,在提交答案时只填写这个字符串,填写多余的内容将无法得分。