2025年十六届蓝桥杯Python B组原题及代码解析

相关试题可以在洛谷上测试用例:

2025 十六届 蓝桥杯 Python B组

试题 A:攻击次数

在这里插入图片描述

答案:103

print(103)

代码:

# 初始化敌人的血量
x = 2025# 初始化回合数
turn = 0# 模拟攻击过程
while x > 0:# 回合数加一turn += 1# 第一个英雄的攻击hero1 = 5# 第二个英雄的攻击if turn % 2 == 1:  # 奇数回合hero2 = 15else:  # 偶数回合hero2 = 2# 第三个英雄的攻击if turn % 3 == 1:  # 回合数除以 3 的余数为 1hero3 = 2elif turn % 3 == 2:  # 回合数除以 3 的余数为 2hero3 = 10else:  # 回合数除以 3 的余数为 0hero3 = 7# 总攻击值total = hero1 + hero2 + hero3# 更新敌人的血量x -= total# 输出游戏结束时的回合数
print(turn)

试题 B:最长字符串

在这里插入图片描述

答案:afplcu

print('afplcu')

将word.txt文件与你的python代码文件保存在同一个文件夹下:

在这里插入图片描述

# 读取 words.txt 文件中的单词
with open("words.txt", "r") as f:ws = [line.strip() for line in f]# 按长度和字典序排序
ws.sort(key=lambda x: (len(x), x))# 初始化优美字符串集合
bs = set()# 动态规划:判断每个单词是否是优美字符串
for w in ws:if len(w) == 1:bs.add(w)else:pre = ''.join(sorted(w[:-1]))if any(''.join(sorted(s)) == pre for s in bs):bs.add(w)# 找到最长的优美字符串
ml = max(len(w) for w in bs)
lbs = [w for w in bs if len(w) == ml]# 输出字典序最小的结果
print(min(lbs))

试题 C:LQ图形

在这里插入图片描述

代码:

w, h, v = map(int, input().split())for i in range(h):for j in range(w):print("Q", end = "")print()for i in range(w):for j in range(w + v):print("Q", end = "")print()

试题 D:最多次数

在这里插入图片描述

代码:

# 获取输入字符串
s = input()# 初始化计数器
count = 0# 遍历字符串,检查每个长度为3的子串
for i in range(len(s) - 2):substring = s[i:i+3]# 检查是否是目标模式之一if substring in {'lqb', 'lbq', 'qlb', 'qbl', 'blq', 'bql'}:count += 1# 为了避免重复计数,可以在找到一个模式后跳出当前循环break# 输出不同模式的数量
print(count)

试题 E:A · B Problem

在这里插入图片描述

代码:

# 读取输入的 L 值
L = int(input())
max_L = L  # 最大范围为 L# 预处理每个数的约数数目
d = [0] * (max_L + 1)  # 创建一个数组 d,用于存储每个数的约数数目
for i in range(1, max_L + 1):# 对于每个 i,将其所有倍数的约数计数加 1for j in range(i, max_L + 1, i):d[j] += 1# 计算前缀和数组
prefix_sum = [0] * (max_L + 1)  # 创建一个数组 prefix_sum,用于存储约数数目的前缀和
current_sum = 0  # 当前的累积和
for i in range(1, max_L + 1):current_sum += d[i]  # 累加当前数的约数数目prefix_sum[i] = current_sum  # 将累积和存入前缀和数组# 计算总答案
total = 0  # 初始化总答案
for m in range(1, max_L + 1):remainder = L - m  # 计算剩余值,即 L - mif remainder >= 0:  # 如果剩余值非负,则可以继续计算# 累加满足条件的组合数# d[m] 表示 m 的约数数目,prefix_sum[remainder] 表示剩余值的约数数目的前缀和total += d[m] * prefix_sum[remainder]# 输出最终结果
print(total)

试题 F:园艺

在这里插入图片描述

代码:

def max_trees(n, heights):# dp[i] 是一个字典,表示以第 i 棵树为结尾时,不同间隔 d 对应的最长递增子序列长度dp = [{} for _ in range(n)]# 初始化:每棵树单独成一个子序列for i in range(n):dp[i][0] = 1  # 初始间隔为 0,长度为 1# 动态规划填表for i in range(n):for j in range(i):if heights[j] < heights[i]:  # 只有当高度递增时才更新d = i - j  # 计算间隔if d in dp[j]:dp[i][d] = max(dp[i].get(d, 1), dp[j][d] + 1)else:dp[i][d] = max(dp[i].get(d, 1), 2)  # 至少长度为 2# 找到所有 dp[i][d] 中的最大值max_length = 1for i in range(n):if dp[i]:max_length = max(max_length, max(dp[i].values()))return max_length# 输入处理
n = int(input())
heights = list(map(int, input().split()))# 输出结果
print(max_trees(n, heights))

试题 G:书架还原

在这里插入图片描述

代码:

def func(n, a):visited = [False] * (n + 1)  # 标记是否访问过,索引从 1 开始cycles = 0  # 环的数量for i in range(1, n + 1):  # 遍历每本书if not visited[i]:  # 如果未访问过cycles += 1  # 发现一个新的环x = iwhile not visited[x]:  # 沿着环追踪visited[x] = Truex = a[x - 1]  # 下一本书的位置(注意索引从 0 开始)return n - cycles  # 最少操作次数# 输入处理
n = int(input())
a = list(map(int, input().split()))# 输出结果
print(func(n, a))

试题 H:异或和

在这里插入图片描述

代码:

n = int(input())  # 输入数组长度
a = list(map(int, input().split()))  # 输入数组
res = 0  # 最终结果for b in range(31):  # 遍历每一位(0到30位)m = 1 << b  # 当前位的掩码,用于提取该位的值c = [0, 0]  # 用于统计当前位为0和1的数量s = [0, 0]  # 用于记录当前位为0和1的索引和cur = 0  # 当前位的贡献值for i in range(n):  # 遍历数组中的每个元素bit = (a[i] >> b) & 1  # 提取当前元素在当前位的值(0或1)cur += c[1 - bit] * i - s[1 - bit]  # 计算当前位的贡献值c[bit] += 1  # 更新当前位的计数s[bit] += i  # 更新当前位的索引和res += cur * m  # 将当前位的贡献值乘以掩码,累加到最终结果print(res)  # 输出最终结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换

原理解析 1. MySQL主从复制&#xff08;Master-Slave Replication&#xff09; 工作原理&#xff1a;MySQL主从复制通过二进制日志&#xff08;binary log&#xff09;来同步数据。主服务器记录所有更改操作到二进制日志中&#xff0c;从服务器读取这些日志并执行相应的SQL语…

【经验记录贴】使用配置文件提高项目的可维护性

mark一下。 整体修改前后如下&#xff1a; 课题&#xff1a; 在项目中有一个支持的文件类型的FILE_TYPE的定义&#xff0c; 这个是写死在主程序中&#xff0c;每次增加可以支持的文件类型的时候&#xff0c;都需要去修改主程序中这个FILGE_TYPE的定义。 主程序修改其实不太花时…

用DeepSeek AI高效制作专业PPT

在当今职场中,制作精美而有力的PPT是展示想法、汇报工作和赢得机会的关键技能。然而,许多人花费过多时间在格式调整和内容组织上,而非专注于核心信息的传达。DeepSeek AI作为新一代智能助手,能够帮助您将PPT制作效率提升300%,同时显著提高专业度。本文将详细介绍如何利用D…

【AI学习从零至壹】语⾔模型及词向量相关知识

语⾔模型及词向量相关知识 ⾃然语⾔处理简介⾃然语⾔理解&#xff08;NLU&#xff09;⾃然语⾔⽣成&#xff08;NLG&#xff09;发展趋势信息检索技术布尔检索与词袋模型基于相关性的检索 / TF-IDF举例&#xff1a; 语⾔模型 / Language Model神经⽹络语⾔模型Word2Vec训练⽅法…

15.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--如何拆分单体

单体应用&#xff08;Monolithic Application&#xff09;是指将所有功能模块集中在一个代码库中构建的应用程序。它通常是一个完整的、不可分割的整体&#xff0c;所有模块共享相同的运行环境和数据库。这种架构开发初期较为简单&#xff0c;部署也较为方便&#xff0c;但随着…

在ARM架构Mac上部署Python 3.12与Conda环境的全链路指南!!!

在ARM架构Mac上部署Python 3.12与Conda环境的全链路指南 &#x1f680; &#xff08;M1/M2芯片实测&#xff5c;含性能调优避坑手册&#xff09; &#x1f31f; 核心价值点 • 原生ARM支持&#xff1a;突破Rosetta转译的性能损耗 • 环境隔离&#xff1a;Conda虚拟环境管理多…

yml文件上传并映射到实体类

文章目录 功能背景功能需要前端开发组件选用组件嵌套和参数绑定上传逻辑示例 后端开发接收逻辑解析逻辑省流纯手动实现&#xff08;不建议&#xff09; 功能背景 开发一个配置文件解析功能&#xff0c;需要兼容老版本的配置文件。 功能需要 前端&#xff1a;两个配置文件分别…

ElasticSearch中常用的数据类型

一、映射 Elasticsearch中通过映射来指定字段的数据类型&#xff0c;映射方式有2种&#xff0c;静态映射和动态映射。 1.动态映射 使用动态映射时&#xff0c;无须指定字段的数据类型&#xff0c;Elasticshearch会自动根据字段内容来判断映射到哪个数据类型。 比如&#xff…

【神经网络结构的组成】深入理解 转置卷积与转置卷积核

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《深度学习理论直觉三十讲》_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 …

CSS高度坍塌?如何解决?

一、什么是高度坍塌&#xff1f; 高度坍塌&#xff08;Collapsing Margins&#xff09;是指当父元素没有设置边框&#xff08;border&#xff09;、内边距&#xff08;padding&#xff09;、内容&#xff08;content&#xff09;或清除浮动时&#xff0c;其子元素的 margin 会…

Web前端开发——格式化文本与段落(上)

一、学习目标 网页内容的排版包括文本格式化、段落格式化和整个页面的格式化&#xff0c;这是设计个网页的基础。文本格式化标记分为字体标记、文字修饰标记。字体标记和文字修饰标记包括对于字体样式的一些特殊修改。段落格式化标记分为段落标记、换行记、水平分隔线标记等。…

关于PHP开源CMS系统ModStart的详细介绍及使用指南

关于PHP开源CMS系统ModStart的详细介绍及使用指南&#xff1a; &#x1f50d; ModStart是什么&#xff1f; 基于Laravel框架开发的模块化CMS系统采用Apache 2.0 开源协议&#xff0c;完全免费可商用特别适合需要快速搭建企业级网站/管理系统的开发者 &#x1f680; 核心优势…

TCP标志位抓包

说明 TCP协议的Header信息&#xff0c;URG、ACK、PSH、RST、SYN、FIN这6个字段在14字节的位置&#xff0c;对应的是tcp[13]&#xff0c;因为字节数是从[0]开始数的&#xff0c;14字节对应的就是tcp[13]&#xff0c;因此在抓这几个标志位的数据包时就要明确范围在tcp[13] 示例1…

RK3588S开发板将SPI1接口改成GPIO

参考官方教程&#xff1a;ROC-RK3588S-PC 一.基本知识&#xff1a; 1.GPIO引脚计算&#xff1a; ROC-RK3588S-PC 有 5 组 GPIO bank&#xff1a;GPIO0~GPIO4&#xff0c;每组又以 A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分&#xff0c;常用以下公式计算引脚&#xff1a;GPIO…

Java 设计模式:适配器模式详解

Java 设计模式&#xff1a;适配器模式详解 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过将一个类的接口转换为客户端期望的另一个接口&#xff0c;使原本不兼容的类能够协同工作。适配器模式就像现实生活中的电源适配器&#xf…

python manimgl数学动画演示_微积分_线性代数原理_ubuntu安装问题[已解决]

1.背景 最近调研python opencv, cuda加速矩阵/向量运算, 对于矩阵的线性变换, 秩, 转秩, 行列式变化等概概念模糊不清. 大概课本依旧是天书, 于是上B站搜索线性代数, 看到 3Blue1Brown 线性变换本质 视频, 点击观看. 惊为天人 --> 豁然开朗 --> 突然顿悟 --> 开心不已…

Git 学习笔记

这篇笔记记录了我在git学习中常常用到的指令&#xff0c;方便在未来进行查阅。此篇文章也会根据笔者的学习进度持续更新。 网站分享 Git 常用命令大全 Learn Git Branching 基础 $ git init //在当前位置配置一个git版本库 $ git add <file> //将文件添加至…

Dynamics365 ExportPdfTemplateExportWordTemplate两个Action调用的body构造

这两天在用ExportPdfTemplate做pdf导出功能时&#xff0c;遇到了如下问题InnerException : Microsoft.OData.ODataException: An unexpected StartArray node was found when reading from the JSON reader. A PrimitiveValue node was expected. 我的场景是使用power automate…

经典算法 判断一个图是不是树

判断一个图是不是树 问题描述 给一个以0 0结尾的整数对列表&#xff0c;除0 0外的每两个整数表示一条连接了这两个节点的边。假设节点编号不超过100000大于0。你只要判断由这些节点和边构成的图是不是树。是输出YES&#xff0c;不是输出NO。 输入样例1 6 8 5 3 5 2 6 4 5…

【嵌入式八股2】C++:STL容器与算法

1. STL常见容器及其内部实现的数据结构 序号 名称 描述 存储结构 常用方法和操作 1vector动态分配的数组顺序数组&#xff08;array&#xff09;v.push_back(), v.pop_back(), v.insert(), v.erase(), v.capacity(), v.size(), v.at(idx), v.front(), v.back()2list双向链表离…