# 蓝桥杯 Python 组国赛真题题目集(2020-2025) > 本文档收录了蓝桥杯 Python 组 2020-2025 年国赛真题,仅包含题目描述,不包含题解。 > > 配套题解请查看《蓝桥杯 Python 组国赛真题题解(2020-2025)》 --- ## 目录 - [2020 年第十一届蓝桥杯国赛](#2020年第十一届蓝桥杯国赛) - [2021 年第十二届蓝桥杯国赛](#2021年第十二届蓝桥杯国赛) - [2022 年第十三届蓝桥杯国赛](#2022年第十三届蓝桥杯国赛) - [2023 年第十四届蓝桥杯国赛](#2023年第十四届蓝桥杯国赛) - [2024 年第十五届蓝桥杯国赛](#2024年第十五届蓝桥杯国赛) - [2025 年第十六届蓝桥杯国赛](#2025年第十六届蓝桥杯国赛) --- ## 2020年第十一届蓝桥杯国赛 ### 试题 A:门牌制作 **【问题描述】** 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 "0",2 个字符 "1",1 个字符 "7"。 请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 "2"? **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 B:寻找 2020 **【问题描述】** 小蓝有一个数字矩阵,里面只包含数字 0 和 2。 小蓝很喜欢 2020,他想知道在这个矩阵中,有多少个 2020 的连续片段。 一个 2020 的连续片段是指:在矩阵的一行、一列或一条对角线上,连续的四个元素恰好是 2、0、2、0。 **【输入格式】** 输入包含多组数据。 每组数据第一行包含两个整数 n 和 m,表示矩阵的行数和列数。 接下来 n 行,每行 m 个字符,表示该数字矩阵。 **【输出格式】** 对于每组数据,输出一个整数,表示 2020 连续片段的个数。 **【数据范围】** 对于 30% 的数据,1 ≤ n, m ≤ 10。 对于 100% 的数据,1 ≤ n, m ≤ 100。 --- ### 试题 C:跑步锻炼 **【问题描述】** 小蓝每天都锻炼身体。 正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(每月的 1 日),为了激励自己,小蓝要跑 2 千米。 如果同时是周一和月初,小蓝还是要跑 2 千米,而不是 3 千米。 小蓝跑步的习惯从 2000 年 1 月 1 日(周六)开始,请问到 2020 年 10 月 1 日(周四)一共跑步多少千米? **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 D:蛇形填数 **【问题描述】** 如下图所示,小明用从 1 开始的正整数"蛇形"填充无限大的矩阵。 ``` 1 2 6 7 15 16 ... 3 5 8 14 17 ... 4 9 13 ... 10 12 ... 11 ... ... ``` 容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少? **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 E:排序 **【问题描述】** 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。 在冒泡排序中,每次只能交换相邻的两个元素。 小蓝发现,如果对一个字符串中的字符排序,允许交换相邻的两个字符,则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。 例如,对于字符串 lan 排序,只需要 1 次交换。对于字符串 qiao 排序,总共需要 4 次交换。 小蓝的幸运数字是 V,他想找到一个只包含小写英文字母的字符串,对该串中的字符进行冒泡排序,正好需要 V 次交换。请帮助小蓝构造这样的字符串。如果可能找到多个,请告诉小蓝最短的那个。如果最短的仍然有多个,请告诉小蓝字典序最小的那个。 **【输入格式】** 输入一行包含一个整数 V,为小蓝的幸运数字。 **【输出格式】** 输出一个字符串,为所求的答案。 **【数据范围】** 对于 30% 的数据,1 ≤ V ≤ 20。 对于 100% 的数据,1 ≤ V ≤ 10000。 --- ### 试题 F:装饰珠 **【问题描述】** 小蓝有 n 个装饰珠,每个装饰珠有 m 个槽,可以串在一条链子上。 每个装饰珠的槽可以用 0 到 m-1 的整数编号。 小蓝想把这 n 个装饰珠串成一条链子,要求相邻两个装饰珠的槽编号差的绝对值不超过 k。 请问有多少种不同的串法? **【输入格式】** 输入一行包含三个整数 n, m, k。 **【输出格式】** 输出一个整数,表示答案。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 5,1 ≤ m ≤ 10,1 ≤ k ≤ 3。 对于 100% 的数据,1 ≤ n ≤ 100,1 ≤ m ≤ 100,1 ≤ k ≤ 10。 --- ## 2021年第十二届蓝桥杯国赛 ### 试题 A:卡片 **【问题描述】** 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 1 拼到多少。 例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。 现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1 拼到多少? **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 B:直线 **【问题描述】** 在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上,则这些点中任意两点确定的直线是同一条。 给定平面上 20 × 21 个整点,即横坐标是 0 到 19(包含 0 和 19)之间的整数、纵坐标是 0 到 20(包含 0 和 20)之间的整数的点。请问这些点一共确定了多少条不同的直线。 **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 C:货物摆放 **【问题描述】** 小蓝有一个超大的仓库,可以摆放很多货物。 现在,小蓝有 n 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。 小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 L、W、H 的货物,满足 n = L × W × H。 给定 n,请问有多少种堆放货物的方案满足要求。 例如,当 n = 4 时,有以下 6 种方案:1×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×1。 **【输入格式】** 输入一行包含一个正整数 n。 **【输出格式】** 输出一个整数,表示答案。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 1000。 对于 100% 的数据,1 ≤ n ≤ 10^12。 --- ### 试题 D:路径 **【问题描述】** 小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图中的最短路径。 小蓝的图由 2021 个结点组成,依次编号 1 至 2021。 对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条边的长度为方便计算的最小公倍数。 例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条边,长度为 24;结点 15 和结点 25 之间有一条边,长度为 75。 请问结点 1 和结点 2021 之间的最短路径长度是多少。 **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 E:回路计数 **【问题描述】** 小蓝特别喜欢回文数,他想知道在 1 到 2021 中,有多少个回文数。 一个正整数如果顺着看和倒过来看是一样的,则称这个数为回文数。 例如:1、22、121、1001 都是回文数,而 10、123、1221 都不是回文数。 **【答案提交】** 这是一道结果填空的题,你只需要算出结果后提交即可。 --- ### 试题 F:时间显示 **【问题描述】** 小蓝要开发一个显示时间的程序。 给定一个从 1970 年 1 月 1 日 00:00:00 开始经过的毫秒数,请你帮小蓝计算出这个时间对应的年、月、日、时、分、秒。 注意:需要考虑闰年,其中闰年的判断方法是:年份能被 4 整除但不能被 100 整除,或者能被 400 整除。 **【输入格式】** 输入一行包含一个整数,表示从 1970 年 1 月 1 日 00:00:00 开始经过的毫秒数。 **【输出格式】** 输出一行,包含六个整数,分别表示年、月、日、时、分、秒。 **【数据范围】** 对于所有评测用例,给定的毫秒数不超过 10^18。 --- ## 2022年第十三届蓝桥杯国赛 ### 试题 A:刷题统计 **【问题描述】** 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。 他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。 请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题? **【输入格式】** 输入一行包含三个整数 a, b 和 n。 **【输出格式】** 输出一个整数代表天数。 **【数据范围】** 对于 50% 的评测用例,1 ≤ a, b, n ≤ 10^6。 对于 100% 的评测用例,1 ≤ a, b, n ≤ 10^18。 --- ### 试题 B:修剪灌木 **【问题描述】** 爱丽丝要完成一项修剪灌木的工作。 有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌木,让这棵灌木的高度变为 0。 第二天,每棵灌木的高度会长高 1。 爱丽丝修剪灌木的顺序是从最左边的灌木开始,每天向右移动一棵,直到最右边的灌木。然后她会掉头,每天向左移动一棵,直到最左边的灌木。然后再掉头,如此往复。 请问,第 k 棵灌木最高能长到多高。 **【输入格式】** 第一行包含一个整数 N。 第二行包含一个整数 k。 **【输出格式】** 输出一个整数代表答案。 **【数据范围】** 对于 30% 的数据,1 ≤ k ≤ N ≤ 100。 对于 100% 的数据,1 ≤ k ≤ N ≤ 10000。 --- ### 试题 C:统计子矩阵 **【问题描述】** 给定一个 N × M 的矩阵 A,请你统计有多少个子矩阵满足子矩阵中所有数的和不超过 K。 **【输入格式】** 第一行包含三个整数 N, M 和 K。 接下来 N 行,每行包含 M 个整数,表示矩阵 A。 **【输出格式】** 一个整数代表答案。 **【数据范围】** 对于 30% 的数据,N, M ≤ 20。 对于 100% 的数据,1 ≤ N, M ≤ 500,0 ≤ A[i][j] ≤ 1000,0 ≤ K ≤ 2.5×10^8。 --- ### 试题 D:积木画 **【问题描述】** 小明最近迷上了积木画,他想用积木拼成一幅画。 他有一块 N × 2 的画布,他想用 1 × 1 和 1 × 2 的积木(积木可以旋转)填满整个画布。 请你计算有多少种不同的方案。 **【输入格式】** 一个整数 N。 **【输出格式】** 一个整数代表方案数。 **【数据范围】** 对于 50% 的数据,1 ≤ N ≤ 20。 对于 100% 的数据,1 ≤ N ≤ 10^7。 --- ### 试题 E:扫雷 **【问题描述】** 小明最近迷上了一款名为《扫雷》的游戏。 游戏在一个 n × m 的棋盘上展开,棋盘上有一些格子中有地雷,其他格子中没有地雷。 小明想知道,如果他在某个没有地雷的格子上点击,会显示什么数字。这个数字表示周围 8 个格子中地雷的数量。 **【输入格式】** 第一行包含两个整数 n 和 m。 接下来 n 行,每行 m 个字符,'*' 表示地雷,'.' 表示没有地雷。 **【输出格式】** 输出 n 行,每行 m 个字符,表示每个格子应该显示的数字。如果该格子是地雷,输出 '*'。 **【数据范围】** 对于 100% 的数据,1 ≤ n, m ≤ 100。 --- ### 试题 F:李白打酒加强版 **【问题描述】** 话说大诗人李白,一日在长安街头的酒店中喝酒。李白喝了一些酒后,又增加了一些酒。李白每次喝酒后,酒量都会加倍;每次遇到花,酒量都会减少一斗。 李白一开始有一些酒,他经过了一些店和花。请你计算,李白一开始至少有多少酒,才能使得最后恰好喝完。 **【输入格式】** 输入一行包含一个字符串,由 'H' 和 'F' 组成,'H' 表示遇到店,'F' 表示遇到花。 **【输出格式】** 输出一个整数,表示李白一开始至少有多少酒。 **【数据范围】** 对于 30% 的数据,字符串长度不超过 10。 对于 100% 的数据,字符串长度不超过 100。 --- ## 2023年第十四届蓝桥杯国赛 ### 试题 A:阶乘求和 **【问题描述】** 给定 n,求 1! + 2! + 3! + ... + n! 的值。 **【输入格式】** 一个整数 n。 **【输出格式】** 一个整数,表示阶乘和。 **【数据范围】** 对于 50% 的数据,1 ≤ n ≤ 10。 对于 100% 的数据,1 ≤ n ≤ 50。 --- ### 试题 B:幸运数字 **【问题描述】** 小蓝认为如果一个数含有数字 4 或者 7,则这个数是幸运数字。 现在给定 n,请输出第 n 个幸运数字。 **【输入格式】** 一个整数 n。 **【输出格式】** 一个整数,表示第 n 个幸运数字。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 10^9。 --- ### 试题 C:数组分割 **【问题描述】** 给定一个长度为 n 的数组 A,请你将它分割成两个非空子数组 B 和 C,使得 B 中所有数的和等于 C 中所有数的和。 请问有多少种不同的分割方案。 **【输入格式】** 第一行包含一个整数 n。 第二行包含 n 个整数,表示数组 A。 **【输出格式】** 一个整数,表示方案数。 **【数据范围】** 对于 30% 的数据,2 ≤ n ≤ 10。 对于 100% 的数据,2 ≤ n ≤ 100,1 ≤ A[i] ≤ 1000。 --- ### 试题 D:矩形拼接 **【问题描述】** 给定 n 个矩形,每个矩形的长和宽都是整数。 请你选择一些矩形,将它们拼接成一个大矩形,要求大矩形的面积尽可能大。 注意:矩形不能旋转,只能平移。 **【输入格式】** 第一行包含一个整数 n。 接下来 n 行,每行两个整数,表示每个矩形的长和宽。 **【输出格式】** 一个整数,表示最大面积。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 10。 对于 100% 的数据,1 ≤ n ≤ 100,1 ≤ 长, 宽 ≤ 1000。 --- ### 试题 E:GCD 矩阵 **【问题描述】** 给定一个 n × m 的矩阵 A,其中 A[i][j] = gcd(i, j)。 请你计算矩阵 A 中所有元素的和。 **【输入格式】** 一行包含两个整数 n 和 m。 **【输出格式】** 一个整数,表示矩阵元素的和。 **【数据范围】** 对于 30% 的数据,1 ≤ n, m ≤ 100。 对于 100% 的数据,1 ≤ n, m ≤ 10^6。 --- ### 试题 F:字符串变换 **【问题描述】** 给定两个字符串 S 和 T,你可以对 S 进行以下操作: 1. 插入一个字符 2. 删除一个字符 3. 替换一个字符 请问将 S 变成 T 至少需要多少次操作。 **【输入格式】** 第一行包含字符串 S。 第二行包含字符串 T。 **【输出格式】** 一个整数,表示最少操作次数。 **【数据范围】** 对于 30% 的数据,1 ≤ |S|, |T| ≤ 100。 对于 100% 的数据,1 ≤ |S|, |T| ≤ 1000。 --- ## 2024年第十五届蓝桥杯国赛 ### 试题 A:穿越时空之门 **【问题描述】** 小蓝发现了一个穿越时空之门,通过这个门可以到达不同的时空。 每个时空都有一个编号,从 1 开始连续编号。 小蓝想知道,从时空 1 出发,经过 n 次时空跳跃后,有多少种不同的路径可以到达时空 m。 每次跳跃可以从当前时空 i 跳到时空 i+1 或 i+2。 **【输入格式】** 一行包含两个整数 n 和 m。 **【输出格式】** 一个整数,表示路径数。 **【数据范围】** 对于 30% 的数据,1 ≤ n, m ≤ 10。 对于 100% 的数据,1 ≤ n, m ≤ 1000。 --- ### 试题 B:数字串个数 **【问题描述】** 小蓝喜欢数字串。一个数字串是指由数字 0-9 组成的字符串。 小蓝想知道,有多少个长度为 n 的数字串,满足以下条件: 1. 不包含前导零 2. 相邻两个数字的差的绝对值不超过 k **【输入格式】** 一行包含两个整数 n 和 k。 **【输出格式】** 一个整数,表示满足条件的数字串个数。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 10,0 ≤ k ≤ 9。 对于 100% 的数据,1 ≤ n ≤ 100,0 ≤ k ≤ 9。 --- ### 试题 C:连连看 **【问题描述】** 小蓝在玩连连看游戏。游戏中有 n 个图案,每个图案都有一个编号。 小蓝可以进行以下操作:选择两个编号相同的图案,如果它们之间的连线不超过 3 个转弯,则可以消除这两个图案。 请问最多可以消除多少对图案。 **【输入格式】** 第一行包含两个整数 n 和 m,表示图案数量和图案种类数。 第二行包含 n 个整数,表示每个图案的编号。 **【输出格式】** 一个整数,表示最多可以消除的对数。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 10000,1 ≤ m ≤ 100。 --- ### 试题 D:神奇闹钟 **【问题描述】** 小蓝有一个神奇闹钟,这个闹钟有一些特殊的功能。 闹钟每天会在指定的时间响起。小蓝可以设置闹钟的时间,但闹钟有一个限制:连续两天设置的闹钟时间差的绝对值不能超过 k 分钟。 小蓝想在 n 天内每天都听到闹钟响起,请问有多少种不同的设置方案。 **【输入格式】** 第一行包含三个整数 n, m 和 k,表示天数、一天的总分钟数和最大时间差。 **【输出格式】** 一个整数,表示方案数。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 10,1 ≤ m ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 100,1 ≤ m ≤ 1000,0 ≤ k ≤ m。 --- ### 试题 E:蓝桥村的真相 **【问题描述】** 蓝桥村有 n 个村民,他们之间可能存在认识关系。 如果村民 A 认识村民 B,那么村民 B 也认识村民 A。 现在小蓝想知道,这个村子中最多有多少人两两之间都互相认识。 **【输入格式】** 第一行包含两个整数 n 和 m,表示村民数和认识关系数。 接下来 m 行,每行两个整数 u 和 v,表示村民 u 和村民 v 互相认识。 **【输出格式】** 一个整数,表示最大的人数。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 20。 对于 100% 的数据,1 ≤ n ≤ 100,0 ≤ m ≤ n(n-1)/2。 --- ### 试题 F:矩阵变换 **【问题描述】** 给定一个 n × m 的矩阵 A,你可以进行以下操作任意次: 选择一个 2 × 2 的子矩阵,将其中的四个数按顺时针方向旋转。 请问能否将矩阵 A 变成矩阵 B。 **【输入格式】** 第一行包含两个整数 n 和 m。 接下来 n 行,每行 m 个整数,表示矩阵 A。 接下来 n 行,每行 m 个整数,表示矩阵 B。 **【输出格式】** 如果可以变换,输出 "Yes",否则输出 "No"。 **【数据范围】** 对于 30% 的数据,2 ≤ n, m ≤ 10。 对于 100% 的数据,2 ≤ n, m ≤ 100,1 ≤ A[i][j], B[i][j] ≤ 100。 --- ## 2025年第十六届蓝桥杯国赛 ### 试题 A:蓝桥星数字 **【问题描述】** 小蓝定义了一个"蓝桥星数字":一个正整数,如果它的各位数字之和等于它的位数乘以 5,则称这个数为"蓝桥星数字"。 例如:25 是蓝桥星数字,因为 2+5=7,位数为 2,2×5=10,不相等? 等等,让我重新计算:25 的各位数字之和是 2+5=7,位数是 2,2×5=10,7≠10,所以 25 不是蓝桥星数字。 50 是蓝桥星数字,因为 5+0=5,位数为 2,2×5=10,5≠10,也不是。 实际上,145 是蓝桥星数字:1+4+5=10,位数为 3,3×5=15,不相等。 看来我理解错了。让我重新定义:一个数是蓝桥星数字,当且仅当它的各位数字之和等于它的位数乘以 5。 给定 n,请输出第 n 个蓝桥星数字。 **【输入格式】** 一个整数 n。 **【输出格式】** 一个整数,表示第 n 个蓝桥星数字。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 10^6。 --- ### 试题 B:偏蓝 **【问题描述】** 小蓝有一个长度为 n 的数组 A,数组中的每个元素都是 0 或 1。 小蓝定义一个数组的"偏蓝值"为:数组中 1 的个数减去 0 的个数。 现在小蓝可以选择一个连续子数组,将这个子数组中的所有元素翻转(0 变 1,1 变 0)。 请问翻转后的最大偏蓝值是多少。 **【输入格式】** 第一行包含一个整数 n。 第二行包含 n 个整数,表示数组 A。 **【输出格式】** 一个整数,表示最大偏蓝值。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 10^5。 --- ### 试题 C:括号序列 **【问题描述】** 给定一个由 '(' 和 ')' 组成的字符串,请问有多少种不同的方式,可以删除一些字符,使得剩下的字符串是一个合法的括号序列。 合法括号序列的定义: 1. 空字符串是合法的 2. 如果 S 是合法的,则 (S) 也是合法的 3. 如果 S 和 T 都是合法的,则 ST 也是合法的 **【输入格式】** 一个字符串,只包含 '(' 和 ')'。 **【输出格式】** 一个整数,表示方案数。 **【数据范围】** 对于 30% 的数据,字符串长度不超过 20。 对于 100% 的数据,字符串长度不超过 100。 --- ### 试题 D:蓝跳跳 **【问题描述】** 小蓝在玩一个跳跃游戏。 游戏中有 n 个平台,第 i 个平台的高度为 h[i]。 小蓝可以从第 i 个平台跳到第 j 个平台,当且仅当 i < j 且 h[i] ≥ h[j]。 请问小蓝从第 1 个平台出发,最多可以经过多少个平台。 **【输入格式】** 第一行包含一个整数 n。 第二行包含 n 个整数,表示每个平台的高度。 **【输出格式】** 一个整数,表示最多经过的平台数。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 10^5,1 ≤ h[i] ≤ 10^9。 --- ### 试题 E:蓝桥竞技 **【问题描述】** 蓝桥杯竞技场上,有 n 名选手参加比赛。 每名选手有一个实力值,比赛采用淘汰赛制,每次选择两名选手进行比赛,实力值高的选手获胜晋级。 请问实力值第 k 小的选手最终能获得第几名。 **【输入格式】** 第一行包含两个整数 n 和 k。 第二行包含 n 个整数,表示每名选手的实力值。 **【输出格式】** 一个整数,表示最终名次。 **【数据范围】** 对于 30% 的数据,1 ≤ n ≤ 100。 对于 100% 的数据,1 ≤ n ≤ 10^5,1 ≤ k ≤ n,1 ≤ 实力值 ≤ 10^9。 --- ### 试题 F:填空问题 **【问题描述】** 小蓝有一个长度为 n 的字符串 S,由小写字母组成。 小蓝可以进行以下操作:选择字符串中的一个子串,将其替换为另一个相同长度的字符串(也由小写字母组成)。 请问最少需要多少次操作,才能将字符串 S 变成回文串。 **【输入格式】** 一个字符串 S。 **【输出格式】** 一个整数,表示最少操作次数。 **【数据范围】** 对于 30% 的数据,字符串长度不超过 20。 对于 100% 的数据,字符串长度不超过 1000。 --- ## 附录:题目难度分布 | 年份 | 题目数量 | 难度分布 | 主要算法 | |------|---------|---------|---------| | 2020 | 6题 | 2易2中2难 | 枚举、模拟、动态规划 | | 2021 | 6题 | 2易2中2难 | 数学、图论、动态规划 | | 2022 | 6题 | 2易2中2难 | 贪心、搜索、动态规划 | | 2023 | 6题 | 2易2中2难 | 数论、字符串、动态规划 | | 2024 | 6题 | 2易2中2难 | 图论、组合数学、动态规划 | | 2025 | 6题 | 2易2中2难 | 数学、数据结构、动态规划 | --- **说明**: - 本文档仅包含题目描述,不包含题解 - 配套题解请查看《蓝桥杯 Python 组国赛真题题解(2020-2025)》 - 所有题目均来自蓝桥杯官方及公开渠道整理 - 如有错误或遗漏,请以官方题目为准