2025年8月蓝桥杯蓝桥Python(省赛)初/中级
省赛
2025
2026-02-05 10:21:45
77次
一、单选题
二、编程题
昆虫变换问题
问题描述:有 n 只昆虫排成一排,每只昆虫为萤火虫(用 0 表示)或蜜蜂(用 1 表示)。
魔术师每次操作可以将一只萤火虫变为蜜蜂,或将一只蜜蜂变为萤火虫。目标是让所有相邻昆虫的种类都不相同,求最少需要的操作次数。
例如:n = 6;从左至右6只昆虫如下:

将第三只昆虫变为萤火虫,第四只昆虫变为蜜蜂,可以使得所有相邻的昆虫都不相同:

魔术师最少需要变2次。
输入格式
第一行:一个整数 n(2 ≤ n ≤ 1000),表示昆虫数量。
第二行:n 个整数(0 或 1),表示初始排列,数字间用空格隔开。
输出格式
一个整数,表示最少需要的操作次数。
样例输入:
6 0 1 1 0 0 1
样例输出:
2
【知识点】 蓝桥杯Python初/中级
拼图拼接问题
题目描述:小利准备将 n 块拼图从左到右进行拼接,每块拼图原本为大小一致的正方形卡片,每条边都做了改变,共有 8 种不同的边,使用编号 1 - 8 表示。每块拼图使用其 上、右、下、左 四条边的编号来表示。
例如,下面两块拼图共有 8 种不同的边,左边的拼图用 1234 表示,右边的拼图用 5678 表示:

拼图规则:
(1)在拼图中:

1 号边只能与 8 号边拼接;
2 号边只能与 7 号边拼接;
3 号边只能与 6 号边拼接;
4 号边只能与 5 号边拼接。
(2)你可以将每块拼图顺时针旋转 0 度、90 度、180 度、270 度来进行拼图(不能翻转到另一面进行拼图)。
例如,同一块拼图旋转不同度数时的效果如下图所示:

旋转 0 度:上边为 1,右边为 2,下边为 3,左边为 4;
旋转 90 度:上边为 4,右边为 1,下边为 2,左边为 3;
旋转 180 度:上边为 3,右边为 4,下边为 1,左边为 2;
旋转 270 度:上边为 2,右边为 3,下边为 4,左边为 1。
(3)除第一块拼图外,下一块拼图只能拼在已拼接拼图的最右边。
注:在各种拼法中,只要有任意一个相同位置上的拼图不一致,或拼图相同但旋转的方向不一致,都算不同的拼法。
本题中,n 块拼图是不同的,不存在以下两种情况:
(1)同一块拼图,旋转 90 度、180 度、270 度后,不会出现与 0 度相同的情况;
(2)任意两块拼图,不会出现其中一块拼图旋转后与另一块相同。
例如:n = 3;3 块拼图分别是 4524、6134、3872,如下图所示:

共有 4 种不同的拼法,如下图所示:

输入描述:
第一行输入一个整数 n(2 ≤ n ≤ 8),表示拼图的块数;
第二行输入 n 个长度为 4 的字符串,字符串仅包含数字 1 - 8,字符串之间以一个空格隔开,每个字符串从左至右的 4 个数字依次表示该块拼图 上、右、下、左 四条边的编号。
输出描述
输出一个整数,表示多少种不同的拼法。
输入样例
3 4524 6134 3872
输出样例
4
【知识点】 蓝桥杯Python初/中级
砖块消除问题
有一个砖块消消乐游戏,游戏画面由 n 列砖组成,每列都有若干块砖,每块砖都是 1×1 的正方形且砖块之间排列整齐(每块砖的厚度及砖块之间的缝隙忽略不计)。
玩家每次可以按照以下要求,选定一个矩形区域,将该矩形区域的所有砖块消除:
(1)该矩形区域内每块砖都是完整的,即不能选定某块砖的一部分。例如:可以选择下方左图中的矩形区域(绿色框),不可以选定下方右图中的矩形区域(红色框)。

(2)该矩形区域内不能有空白部分。例如:不可以选定下图中的矩形区域(红色框)。

给定砖的列数 n,以及从左至右每列砖的砖块数量,请计算消除完所有砖块最少需要选定多少次矩形区域。
例如:n = 3;从左至右列砖的砖块数量分别是 2、3、2,将所有砖块全部消除最少需要选定 2 次。

第 1 次,选定绿色框的矩形区域,将 6 块砖消除,剩余 1 块砖;

第 2 次,选定剩余的 1 块砖并消除。

输入描述
第一行输入一个整数 n(1 ≤ n ≤ 1e5),表示有多少列砖;
第二行输入 n 个整数(1 ≤ 整数 ≤ 100),分别表示从左至右每列砖的砖块数量,整数之间以一个空格隔开。
输出描述
输出一个整数,表示消除完所有砖块最少需要选定多少次矩形区域。
样例输入:
3 2 3 2
样例输出:
2
【知识点】 蓝桥杯Python初/中级
