[藍橋杯真題題目及解析]2025年C++b組

移動距離(填空)**

小明初始在二維平面的原點,他想前往坐標 (233,666)。在移動過程中,他只能采用以下兩種移動方式,并且這兩種移動方式可以交替、不限次數地使用:

水平向右移動,即沿著 x 軸正方向移動一定的距離。
沿著一個圓心在原點 (0,0)、以他當前位置到原點的距離為半徑的圓的圓周移動,移動方向不限(即順時針或逆時針移動不限)。
在這種條件下,他到達目的地最少移動多少單位距離?你只需要輸出答案四舍五入到整數的結果。
解析:
最少移動單位距離=沿 x 軸正方向移動的距(半徑)+弧長

弧長=θ*半徑

tanθ=666/233

θ=arctan(666/233)

代碼

#include <iostream>
#include <cmath>
int main() {double r = sqrt(233*233 + 666*666);double theta = atan2(666, 233);double res = r + theta * r;printf("%.0lf", res); // 輸出1576return 0;
}

客流量上限(填空)**

一家連鎖旅館在全國擁有 2025 個分店,分別編號為 1 至 2025。隨著節日臨近,總部決定為每家分店設定每日客流量的上限,分別記作 A1?,A2?,…,A2025?。這些上限并非隨意分配,而是需要滿足以下約束條件:

A1?,A2?,…,A2025? 必須是 1 至 2025 的一個排列,即每個 Ai? 均是 1 至 2025 之間的整數,且所有 Ai? 互不相同。
對于任意分店 i 和 j(1≤i,j≤2025,i 可等于 j),它們的客流量上限 Ai? 和 Aj? 的乘積不得超過 i×j+2025。
這些約束旨在平衡各分店客流壓力,確保服務質量和運營穩定性。

現在,請你計算這樣的分配方案究竟有多少種。由于答案可能很大,你只需輸出其對 109+7 取余后的結果即可。
在這里插入圖片描述

代碼

#include <iostream>
using namespace std;
const int mod = 1e9+7;
int main() {int n = 2025, res = 1;for (int i=0; i<1012; i++) res = res * 2 % mod;cout << res; // 輸出781448427return 0;
}

可分解的正整數(編程)

定義一種特殊的整數序列,這種序列由連續遞增的整數組成,并滿足以下條件:

序列長度至少為 3。
序列中的數字是連續遞增的整數(即相鄰元素之差為 1),可以包括正整數、負整數或 0。
例如,[1,2,3]、[4,5,6,7] 和 [?1,0,1] 是符合條件的序列,而 [1,2](長度不足)和 [1,2,4](不連續)不符合要求。

現給定一組包含 N 個正整數的數據 A1?,A2?,…,AN?。如果某個 Ai? 能夠表示為符合上述條件的連續整數序列中所有元素的和,則稱 Ai? 是可分解的。

請你統計這組數據中可分解的正整數的數量。
思路:直接統計輸入中非1的數的個數。

代碼

#include <iostream>
using namespace std;
int main() {int n, x, cnt=0;cin >> n;while (n--) {cin >> x;if (x != 1) cnt++;}cout << cnt;return 0;
}

產值調整(編程)

偏遠的小鎮上,三兄弟共同經營著一家小型礦業公司“兄弟礦業”。公司旗下有三座礦山:金礦、銀礦和銅礦,它們的初始產值分別用非負整數 A、B 和 C 表示。這些礦山的產出是小鎮經濟的核心,支撐著三兄弟和許多礦工家庭的生計。

然而,各礦山的產值波動劇烈,有時金礦收益高而銀礦、銅礦低迷,有時則相反。這種不穩定性讓公司收入難以預測,也常引發兄弟間的爭執。為了穩定經營,三兄弟設計了一個公平的產值調整策略,每年執行一次,每次調整時,將根據當前的產值 A、B、C,計算新產值:

計算出 A′、B′、C′ 后,同時更新:A 變為 A′,B 變為 B′,C 變為 C′,作為下一年調整的基礎。

三兄弟認為這個方法能平衡產值波動,于是計劃連續執行 K 次調整。現在,請你幫他們計算,經過 K 次調整后,金礦、銀礦和銅礦的產值分別是多少。

解析
多次調整后,A、B、C會收斂到相同值。模擬時若發現三者相等則提前終止循環。

代碼

#include <iostream>
using namespace std;
int main() {int T, A, B, C, K;cin >> T;while (T--) {cin >> A >> B >> C >> K;while (K--) {int a = (B + C) / 2, b = (A + C) / 2, c = (A + B) / 2;if (a == b && b == c) break;A = a, B = b, C = c;}cout << A << " " << B << " " << C << endl;}return 0;
}

畫展布置(編程)**

問題描述
畫展策展人小藍和助理小橋為即將舉辦的畫展準備了 N 幅畫作,其藝術價值分別為 A1?,A2?,…,AN?。他們需要從這 N 幅畫中挑選 M 幅,并按照一定順序布置在展廳的 M 個位置上。如果隨意挑選和排列,藝術價值的變化可能會過于突兀,導致觀眾的觀展體驗不夠流暢。

為了優化布置,他們查閱了《畫展布置指南》。指南指出,理想的畫展應使觀眾在欣賞畫作時,藝術價值的過渡盡量平緩。指南建議,選擇并排列 M 幅畫,應使藝術價值的變化程度通過一個數值 L 來衡量,且該值越小越好。數值 L 的定義為:

L=i=1∑M?1?∣Bi+12??Bi2?∣

其中 Bi? 表示展廳第 i 個位置上畫作的藝術價值。

現在,他們希望通過精心挑選和排列這 M 幅畫作,使 L 達到最小值,以提升畫展的整體協調性。請你幫他們計算出這個最小值是多少。
解析
當畫作按平方值排序后,最優解為連續M幅畫的平方值極差。例如:選排序后的連續子數組,最小化最大值與最小值之差。

代碼

#include <bits/stdc++.h>
using namespace std;
int main() {int N, M;cin >> N >> M;vector<long long> A(N);for (int i=0; i<N; i++) cin >> A[i], A[i] *= A[i];sort(A.begin(), A.end());long long ans = LLONG_MAX;for (int i=0; i+M-1 < N; i++)ans = min(ans, A[i+M-1] - A[i]);cout << ans;return 0;
}

以下是2025年第十六屆藍橋杯省賽C/C++大學B組其他題目的解析及參考答案:


F題:水質檢測(編程15分)

問題描述
在2×n的河床上,某些位置已有檢測器(用#表示),其余為空白(.)。要求添加最少的檢測器,使所有檢測器連通。求最少需添加的檢測器數量。
解析思路
采用動態規劃處理連通性問題。定義dp[i][j]表示處理到第i列時,該列的上下行狀態為j(二進制表示,如1表示上行有檢測器,2表示下行,3表示上下均有)的最小添加數。狀態轉移需考慮前一列與當前列的連通性,確保相鄰列至少有一個位置連通。
代碼示例

#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int main() {string s1, s2;cin >> s1 >> s2;int n = s1.size();vector<int> sta(n + 1);for (int i = 0; i < n; i++) {if (s1[i] == '#') sta[i + 1] |= 1;if (s2[i] == '#') sta[i + 1] |= 2;}// DP初始化及狀態轉移略cout << ans << endl;return 0;
}

生產車間(編程20分)

問題描述
給定一棵樹,每個節點代表車間,需去掉一些葉子節點,使得每個非葉子節點的子節點權值之和不大于其自身權值。求根節點(節點1)的葉子節點權值和最大值。
解析思路
采用樹形動態規劃結合分組背包思想。定義dp[u][j]表示以節點u為根的子樹中是否存在路徑和為j的合法路徑。遞歸處理子節點,并通過分組背包合并子節點的狀態。
代碼示例

#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
vector<int> g[N];
int w[N], n;
bool dp[N][N];
void dfs(int u, int fa) {dp[u][0] = true;if (g[u].size() == 1 && fa != 0) {dp[u][w[u]] = true;return;}for (int v : g[u]) {if (v == fa) continue;dfs(v, u);for (int j = w[u]; j >= 0; j--)for (int k = 0; k <= j; k++)if (dp[u][j - k] && dp[v][k]) dp[u][j] = true;}
}

裝修報價(編程20分)

問題描述
在數字間插入加減或異或符號,求所有可能計算值的總和。
解析思路
預處理前綴異或和,利用位運算性質分位統計貢獻。每位獨立計算,總和對每位貢獻求和。
代碼示例

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 1e9 + 7;
int main() {string s;cin >> s;int n = s.size();vector<ll> pow3(n + 1, 1);for (int i = 1; i <= n; i++) pow3[i] = pow3[i - 1] * 3 % MOD;// 預處理前綴異或和并計算貢獻cout << ans << endl;return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79260.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79260.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79260.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ICMP協議深度解析】從網絡診斷到安全實踐

目錄 前言技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵報文類型說明協議版本對比 二、實戰演示環境配置要求核心實驗實現實驗1&#xff1a;標準ping流程實驗2&#xff1a;traceroute路徑發現實驗3&#xff1a;自定義ICMP…

安卓基礎(懸浮窗分級菜單和彈窗)

initializeViews() 初始化 把全部的按鈕都弄出來 // 主菜單按鈕ImageButton mainButton floatingMenuView.findViewById(R.id.main_button);// 二級菜單按鈕subButtons new ImageButton[3];subButtons[0] floatingMenuView.findViewById(R.id.sub_button_1);subButtons[1]…

馮·諾依曼體系:現代計算機的底層邏輯與百年傳承

在智能手機流暢運行復雜游戲、超級計算機模擬氣候變化的今天&#xff0c;很少有人會想到&#xff0c;驅動這些神奇機器運轉的核心架構&#xff0c;依然遵循著70多年前提出的設計理念。這就是由匈牙利裔美國科學家約翰馮諾依曼&#xff08;John von Neumann&#xff09;奠定的馮…

【云備份】服務端工具類實現

1.文件實用工具類設計 不管是客戶端還是服務端&#xff0c;文件的傳輸備份都涉及到文件的讀寫&#xff0c;包括數據管理信息的持久化也是如此&#xff0c;因此首先設 計封裝文件操作類&#xff0c;這個類封裝完畢之后&#xff0c;則在任意模塊中對文件進行操作時都將變的簡單化…

CGI 協議是否會具體到通訊報文?

CGI&#xff08;Common Gateway Interface&#xff09;不涉及具體的網絡通訊報文格式&#xff0c;它定義的是 Web服務器與外部程序之間的數據交互方式&#xff0c;而不是像HTTP或FastCGI那樣的二進制協議。下面分幾個方面詳細說明&#xff1a; 1. CGI 的交互方式&#xff08;非…

【Mytais系列】Type模塊:類型轉換

MyBatis 的 類型系統&#xff08;Type System&#xff09; 是框架處理 Java 類型與數據庫類型之間映射的核心模塊&#xff0c;它通過 類型處理器&#xff08;TypeHandler&#xff09;、類型別名&#xff08;TypeAlias&#xff09; 和 類型轉換器 等機制&#xff0c;實現了數據庫…

新華三H3CNE網絡工程師認證—動態NAT

靜態NAT嚴格地一對一進行地址映射&#xff0c;這就導致即便內網主機長時間離線或者不發送數據時&#xff0c;與之對應的共有地址也處于使用狀態。為了避免地址浪費&#xff0c;動態NAT提出了地址池的概念&#xff1a;所有可用的共用地址組成地址池。 當內部主機訪問外部網絡時臨…

華為OD機試真題 Java 實現【水庫蓄水問題】

前言 博主刷的華為機考題&#xff0c;代碼僅供參考&#xff0c;因為沒有后臺數據&#xff0c;可能有沒考慮到的情況 如果感覺對你有幫助&#xff0c;請點點關注點點贊吧&#xff0c;謝謝你&#xff01; 題目描述 思路 1. 其實就是找一個最大的水坑&#xff0c;兩個…

【Linux】Petalinux驅動開發基礎

基于Petalinux做Linux驅動開發。 部分圖片和經驗來源于網絡,若有侵權麻煩聯系我刪除,主要是做筆記的時候忘記寫來源了,做完筆記很久才寫博客。 專欄目錄:記錄自己的嵌入式學習之路-CSDN博客 目錄 1 一個完整的Linux系統(針對Zynq) 1.1 PS部分 1.2 PL部分(若…

JAVA刷題記錄: 遞歸,搜索與回溯

專題一 遞歸 面試題 08.06. 漢諾塔問題 - 力扣&#xff08;LeetCode&#xff09; class Solution {public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {dfs(A, B, C, A.size());}public void dfs(List<Integer> a, List<In…

YOLOv11改進:利用RT-DETR主干網絡PPHGNetV2助力輕量化目標檢測

這里寫自定義目錄標題 YOLOv11改進&#xff1a;利用RT-DETR主干網絡PPHGNetV2助力輕量化目標檢測1. 介紹2. 引言3. 技術背景3.1 YOLOv11概述3.2 RT-DETR與PPHGNetV23.3 相關工作 4. 應用使用場景5. 詳細代碼實現5.1 環境準備5.2 PPHGNetV2主干網絡實現5.3 YOLOv11與PPHGNetV2集…

WPF之Button控件詳解

文章目錄 1. 引言2. Button控件基礎Button類定義 3. Button控件的核心屬性3.1 Content屬性3.2 IsDefault屬性3.3 IsCancel屬性3.4 其他常用屬性 4. 按鈕樣式與模板自定義4.1 簡單樣式設置4.2 使用Style對象4.3 觸發器使用4.4 使用ControlTemplate完全自定義4.5 按鈕視覺狀態 5.…

【Java】2025 年 Java 學習路線:從入門到精通

文章目錄 一、Java基礎階段(4-8周)1. 開發環境搭建2. 核心語法基礎3. 面向對象編程(OOP)4. 核心類庫二、Java進階階段(6-10周)1. JVM深度理解2. 并發編程3. 新特性掌握4. 設計模式三、開發框架與中間件(8-12周)1. Spring生態2. 持久層框架3. 常用中間件四、項目實戰階段…

虛幻引擎入門筆記

【虛幻5】UE5新手入門嘗試 虛幻引擎的基礎設置 1.驗證-當文件誤刪的時候&#xff0c;對其進行驗證&#xff0c;可以恢復。 2.虛幻引擎極其強大&#xff0c;可以實現多種復合技能&#xff0c;所在創建項目頁面可以看見不只是創建游戲的項目 3.更改虛幻引擎默認的緩存地址。有些…

【PostgreSQL數據分析實戰:從數據清洗到可視化全流程】1.1 數據庫核心概念與PostgreSQL技術優勢

&#x1f449; 點擊關注不迷路 &#x1f449; 點擊關注不迷路 &#x1f449; 點擊關注不迷路 文章大綱 深度解析PostgreSQL核心架構與技術優勢&#xff1a;從數據庫原理到實戰場景1.1 數據庫核心概念與PostgreSQL技術優勢1.1.1 關系型數據庫核心架構解析1.1.1.1 數據庫系統的底…

詳解SLAM中的李群和李代數(上)

1 概述 最近閱讀高翔大神的《視覺SLAM十四講》這本書&#xff0c;感覺整本書寫的非常的平實&#xff0c;用非常接地氣的語言毫無保留的介紹了視覺SLAM的相關知識&#xff0c;非常值得一讀。不過&#xff0c;在第4章出現的李群和李代數的相關概念就有點令人難以費解了。其實這段…

libevent庫詳解:高性能異步IO的利器

目錄 一、libevent 簡介 主要特點&#xff1a; 二、事件模型原理 1. event_base 2. event 3. evconnlistener&#xff08;TCP監聽器&#xff09; 4. bufferevent 簡化流程如下&#xff1a; 三、libevent 使用示例 1. 創建事件主循環 2. 創建監聽器&#xff08;TCP&a…

從 “零” 做個開源音樂軟件“SteadyBeat”吧!<1> 準備

換換腦子&#xff0c;做個音樂軟件&#xff0c;根據調性、和弦走向&#xff08;情感&#xff09;、節拍、速度等需求&#xff0c;結合AI和一眾工具&#xff0c;自動生成伴奏、Solo等&#xff0c;有點像庫樂隊&#xff01;自己平時也用得著&#xff0c;暫時取名叫《SteadyBeat》…

npm error code CERT_HAS_EXPIRED

npm error code CERT_HAS_EXPIRED 歡迎來到我的主頁&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就職于醫療科技公司&#xff0c;熱衷分享知識&#xff0c;武漢城市開發者社區主理人 擅長.net、C、python開發&#xff0c; 如果遇到技術問題&#xff0c;即可私…

數字世界的“私人車道“:網絡切片如何用Python搭建專屬通信高速路?

數字世界的"私人車道"&#xff1a;網絡切片如何用Python搭建專屬通信高速路&#xff1f; 2024年6月&#xff0c;中國移動宣布在浙江某智能工廠完成全球首個"5G工業網絡切片"規模商用——這條為生產線定制的"數字專屬車道"&#xff0c;將設備控制…