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.pswp.cn/news/901593.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901593.shtml
英文地址,請注明出處:http://en.pswp.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雙向鏈表離…