第十六屆藍橋杯 省賽C/C++ 大學B組

編程題目現在在洛谷上都可以提交了。
未完待續,寫不動了。

C++11 編譯命令

g++ A.cpp -o A -Wall -lm -std=c++11

A. 移動距離

本題總分:5 分

問題描述

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

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

思路

最短路徑應該是往右走圓的半徑長度 r = 23 3 2 + 66 6 2 r = \sqrt{233^2 + 666^2} r=2332+6662 ?,然后再延著圓弧走到 ( 233 , 666 ) (233, 666) (233,666) 這個點。圓弧長度: l = α r = arctan ? 666 233 r l = \alpha r = \arctan{\frac{666}{233}}r l=αr=arctan233666?r ( α \alpha α 是圓弧對應的圓心角,以弧度制表示)。答案是 1576 1576 1576

代碼

#include <bits/stdc++.h>
using namespace std;int main() {double r = sqrt(233 * 233 + 666 * 666);double ang = atan(1.0 * 666 / 233);cout << (int)round(ang * r + r) << endl;return 0;
}

B. 客流量上限

本題總分:5 分

問題描述

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

  1. A 1 A_1 A1?, A 2 A2 A2, … \ldots , A 2025 A_{2025} A2025? 必須是 1 1 1 2025 2025 2025 的一個排列,即每個 A i A_i Ai? 均是 1 1 1 2025 2025 2025 之間的整數,且所有 Ai 互不相同。
  2. 對于任意分店 i i i j j j 1 ≤ i , j ≤ 2025 1 ≤ i, j ≤ 2025 1i,j2025 i i i 可等于 j j j),它們的客流量上限 A i A_i Ai? A j A_j Aj? 的乘積不得超過 i × j + 2025 i \times j + 2025 i×j+2025。這些約束旨在平衡各分店客流壓力,確保服務質量和運營穩定性。現在,請你計算這樣的分配方案究竟有多少種。由于答案可能很大,你只\需輸出其對 1 0 9 + 7 10^9 + 7 109+7 取余后的結果即可。

思路

暫無

C. 可分解的正整數

時間限制: 1.0s
內存限制: 256.0MB
本題總分:10 分

問題描述

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

  1. 序列長度至少為 3 3 3
  2. 序列中的數字是連續遞增的整數(即相鄰元素之差為 1 1 1),可以包括正整數、負整數或 0 0 0

例如, [ 1 , 2 , 3 ] [1, 2, 3] [1,2,3] [ 4 , 5 , 6 , 7 ] [4, 5, 6, 7] [4,5,6,7] [ ? 1 , 0 , 1 ] [?1, 0, 1] [?1,0,1] 是符合條件的序列,而 [ 1 , 2 ] [1, 2] [1,2](長度不足)和 [ 1 , 2 , 4 ] [1, 2, 4] [1,2,4](不連續)不符合要求。

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

請你統計這組數據中可分解的正整數的數量。

輸入格式

輸入的第一行包含一個正整數 N N N,表示數據的個數。

第二行包含 N N N 個正整數 A 1 A_1 A1?, A 2 A_2 A2?, … \ldots , A N A_N AN?,表示需要判斷是否可分解的正整數序列。

輸出格式

輸出一個整數,表示給定數據中可分解的正整數的數量。

樣例輸入

3
3 6 15

樣例輸出

3

樣例說明

A i = 3 A_i = 3 Ai?=3 是可分解的,因為 [ 0 , 1 , 2 ] [0, 1, 2] [0,1,2] 的和為 0 + 1 + 2 = 3 0 + 1 + 2 = 3 0+1+2=3
A i = 6 A_i = 6 Ai?=6 是可分解的,因為 [ 1 , 2 , 3 ] [1, 2, 3] [1,2,3] 的和為 1 + 2 + 3 = 6 1 + 2 + 3 = 6 1+2+3=6
A i = 15 A_i = 15 Ai?=15 是可分解的,因為 [ 4 , 5 , 6 ] [4, 5, 6] [4,5,6] 的和為 4 + 5 + 6 = 15 4 + 5 + 6 = 15 4+5+6=15
所以可分解的正整數的數量為 3 3 3

評測用例規模與約定

對于 30 % 30\% 30% 的評測用例, 1 ≤ N ≤ 100 1 \le N \le 100 1N100 1 ≤ A i ≤ 100 1 \le A_i \le 100 1Ai?100
對于 100 % 100\% 100% 的評測用例, 1 ≤ N ≤ 1 0 5 1 \le N \le 10^5 1N105 1 ≤ A i ≤ 1 0 9 1 \le A_i \le 10^9 1Ai?109

思路

[ 1 , 1 0 9 ] [1, 10^9] [1,109] 的正整數里面, 1 1 1 無法被連續整數序列表示,剩余所有的數都可以被以 1 1 1 0 0 0 1 1 1 為中心的連續整數序列表示。例如,

  • 2 2 2 可以被表示為 ? 1 -1 ?1, 0 0 0, 1 1 1, 2 2 2
  • 3 3 3 可以被表示為 0 0 0, 1 1 1, 2 2 2
  • 4 4 4 可以被表示為 ? 3 -3 ?3, ? 2 -2 ?2, ? 1 -1 ?1, 0 0 0, 1 1 1, 2 2 2, 3 3 3, 4 4 4

代碼

#include <bits/stdc++.h>
using namespace std;int n, a, ans = 0;int main() {ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);cin >> n;for (int i = 1; i <= n; i++)cin >> a, ans += (a > 1);cout << ans << endl;return 0;
}

D. 產值調整

時間限制: 1.0s
內存限制: 256.0MB
本題總分:10 分

問題描述

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

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

  1. 金礦新產值 A A A = ? B + C 2 ? = \left \lfloor\frac{B + C}{2} \right\rfloor =?2B+C??
  2. 銀礦新產值 B B B = ? A + C 2 ? = \left \lfloor\frac{A + C}{2} \right\rfloor =?2A+C??
  3. 銅礦新產值 C C C = ? A + B 2 ? = \left \lfloor\frac{A + B}{2} \right\rfloor =?2A+B??

其中, ? ? \lfloor\rfloor ?? 表示向下取整。例如, ? 3.7 ? = 3 \lfloor3.7\rfloor = 3 ?3.7?=3 ? 5.2 ? = 5 \lfloor5.2\rfloor = 5 ?5.2?=5

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

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

輸入格式

輸入的第一行包含一個整數 T T T ,表示測試用例的數量。

接下來的 T T T 行,每行包含四個整數 A A A B B B C C C K K K,分別表示金礦、銀礦和銅礦的初始產值,以及需要執行的調整次數。

輸出格式

對于每個測試用例,輸出一行,包含三個整數,表示經過 K K K 次調整后金礦、銀礦和銅礦的產值,用空格分隔。

樣例輸入

2
10 20 30 1
5 5 5 3

樣例輸出

25 20 15
5 5 5

評測用例規模與約定

對于 30 % 30\% 30% 的評測用例, 1 ≤ T ≤ 100 1 \le T \le 100 1T100 1 ≤ A , B , C , K ≤ 1 0 5 1 \le A, B,C, K \le 10^5 1A,B,C,K105
對于 100 % 100\% 100% 的評測用例, 1 ≤ T ≤ 1 0 5 1 \le T \le 10^5 1T105 1 ≤ A , B , C , K ≤ 1 0 9 1 \le A, B,C, K \le 10^9 1A,B,C,K109

思路

三個數會迅速向某個數收斂,當三個數都一樣時,無論進行多少次操作,結果都不會變了。在三個數都變成一樣之前暴力求解。

代碼

#include <bits/stdc++.h>
using namespace std;void solve() {int a, b, c, k;cin >> a >> b >> c >> k;while (k--) {int aa = (b + c) / 2, bb = (a + c) / 2, cc = (a + b) / 2;a = aa, b = bb, c = cc;if (a == b && b == c) break;}cout << a << " " << b << " " << c << "\n";
}int main() {ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);int T;cin >> T;while (T--) solve();return 0;
}

E. 畫展布置

時間限制: 1.0s
內存限制: 256.0MB
本題總分:15 分

問題描述

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

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

L = ∑ i = 1 M ? 1 ∣ B i 2 ? B i + 1 2 ∣ L = \sum_{i = 1}^{M - 1}|B_i^2 - B_{i + 1}^2| L=i=1M?1?Bi2??Bi+12?

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

現在,他們希望通過精心挑選和排列這 M M M 幅畫作,使 L L L 達到最小值,以提升畫展的整體協調性。請你幫他們計算出這個最小值是多少。

輸入格式

輸入共兩行。

第一行包含兩個正整數 N N N M M M,分別表示畫作的總數和需要挑選的畫作數量。

第二行包含 N N N 個正整數 A 1 A_1 A1?, A 2 A_2 A2?, … \ldots , A N A_N AN?,表示每幅畫作的藝術價值。

輸入樣例

4 2
1 5 2 4

輸出樣例

3

樣例用例規模與約定

對于 40 % 40\% 40% 的評測用例, 2 ≤ M ≤ N ≤ 1 0 3 2 \le M \le N \le 10^3 2MN103 1 ≤ A i ≤ 1 0 3 1 \le A_i \le 10^3 1Ai?103
對于 100 % 100\% 100% 的評測用例, 2 ≤ M ≤ N ≤ 1 0 5 2 \le M \le N \le 10^5 2MN105 1 ≤ A i ≤ 1 0 5 1 \le A_i \le 10^5 1Ai?105

輸出格式

輸出一個整數,表示 L L L 的最小值。

思路

  • 對于選定的若干個數,一定按照大小排序一定最優。
    • 對于 i < j i < j i<j,如果交換 B i B_i Bi? B j B_j Bj?,即 B i ′ = B j B'_i = B_j Bi?=Bj? B j ′ = B i B'_j =B_i Bj?=Bi?,一定會有 ∣ B i 2 ? B i ? 1 2 ∣ + ∣ B i 2 ? B i + 1 2 ∣ + ∣ B j 2 ? B j ? 1 2 ∣ + ∣ B j 2 ? B j + 1 2 ∣ < ∣ B i ′ 2 ? B i ? 1 ′ 2 ∣ + ∣ B i ′ 2 ? B i + 1 ′ 2 ∣ + ∣ B j ′ 2 ? B j ? 1 ′ 2 ∣ + ∣ B j ′ 2 ? B j + 1 ′ 2 ∣ |B_i^2 - B_{i - 1}^2| + |B_i^2 - B_{i + 1}^2| + |B_j^2 - B_{j - 1}^2| + |B_j^2 - B_{j + 1}^2| < |B'^2_i - B'^2_{i - 1}| + |B'^2_i - B'^2_{i + 1}| + |B'^2_j - B'^2_{j - 1}| + |B'^2_j - B'^2_{j + 1}| Bi2??Bi?12?+Bi2??Bi+12?+Bj2??Bj?12?+Bj2??Bj+12?<Bi2??Bi?12?+Bi2??Bi+12?+Bj2??Bj?12?+Bj2??Bj+12?,即交換之后結果更劣。
  • 不妨設選定數字從小到大排序,那么 L = ∑ i = 1 M ? 1 ∣ B i 2 ? B i + 1 2 ∣ = ∑ i = 1 M ? 1 ( B i + 1 2 ? B i 2 ) = B M 2 ? B 1 2 L = \sum_{i = 1}^{M - 1}|B_i^2 - B_{i + 1}^2| = \sum_{i = 1}^{M - 1}(B_{i + 1}^2 - B_i^2) = B_M^2 - B_1^2 L=i=1M?1?Bi2??Bi+12?=i=1M?1?(Bi+12??Bi2?)=BM2??B12?,所以我們要讓所選的數最大值與最小值的差盡可能地小。
  • 只需要先將 A A A 數組排序,然后依次選擇連續的 M M M 個數,算出最小的 L L L 即可。

代碼

#include <bits/stdc++.h>
using namespace std;#define int long longconst int N = 1e5 + 10;
int n, m, a[N], sum[N], ans = LLONG_MAX;signed main() {cin >> n >> m;for (int i = 1; i <= n; i++) cin >> a[i];sort(a + 1, a + n + 1);for (int i = 2; i <= n; i++)sum[i] = sum[i - 1] + a[i] * a[i] - a[i - 1] * a[i - 1];for (int l = 1; l + m - 1 <= n; l++) {int r = l + m - 1;ans = min(ans, sum[r] - sum[l]);}cout << ans << endl;return 0;
}

F. 水質檢測

時間限制: 1.0s
內存限制: 256.0MB
本題總分:15 分

問題描述

小明需要在一條 2 × n 2 \times n 2×n 的河床上鋪設水質檢測器。在他鋪設之前,河床上已經存在一些檢測器。如果兩個檢測器上下或者左右相鄰,那么這兩個檢測器就是互相連通的。連通具有傳遞性,即如果 A A A B B B 連通, B B B C C C 連通,那么 A A A C C C 也連通。現在他需要在河床上增加鋪設一些檢測器使得所有的檢測器都互相連通。他想知道最少需要增加鋪設多少個檢測器?

輸入格式

輸入共兩行,表示一個 2 × n 2 \times n 2×n 的河床。

每行一個長度為 n n n 的字符串,僅包含 #.,其中 # 表示已經存在的檢測器,. 表示空白。

輸出格式

輸出共 1 1 1 行,一個整數表示答案。

樣例輸入

.##.....#
.#.#.#...

樣例輸出

5

說明/提示

樣例說明

其中一種方案:

.###....#
.#.######

增加了 5 個檢測器。

評測用例規模與約定

對于 100 % 100\% 100% 的評測用例,保證 n ≤ 1000000 n \leq 1000000 n1000000

H. 裝修報價

題目描述

老王計劃裝修房子,于是聯系了一家裝修公司。該公司有一套自動報價系統,只需用戶提供 N N N 項裝修相關費用 A 1 , A 2 , … , A N A_1, A_2, \dots , A_N A1?,A2?,,AN?,系統便會根據這些費用生成最終的報價。

然而,當老王提交數據后,他發現這套系統的運作方式并不透明:系統只會給出一個最終報價,而不會公開任何運算過程或中間步驟。

公司對此解釋稱,這套系統會依據某種內部算法,在每對相鄰數字之間插入 + + +(加法)、 ? - ?(減法)或 ⊕ \oplus (異或)運算符,并按照特定優先級規則計算結果:異或運算優先級最高,其次是加減。但由于保密性,具體的運算符組合以及中間過程都不會對外公開。

為了驗證系統報價是否合理,老王決定模擬其運作方式,嘗試每種可能的運算符組合,計算出所有可能出現的結果的總和。如果最終報價明顯超出這個范圍,他就有理由懷疑系統存在異常或誤差。只是老王年事已高,手動計算頗為吃力,便向你求助。

現在,請你幫老王算出所有可能的結果的總和。由于該總和可能很大,你只需提供其對 1 0 9 + 7 10^9+7 109+7 取余后的結果即可。

輸入格式

第一行輸入一個整數 N N N,表示裝修相關費用的項數。

第二行輸入 N N N 個非負整數 A 1 , A 2 , … , A N A_1, A_2, \dots , A_N A1?,A2?,,AN?,表示各項費用。

輸出格式

輸出一個整數,表示所有可能的總和對 1 0 9 + 7 10^9 + 7 109+7 取余后的結果。

樣例輸入

3
0 2 5

樣例輸出

11

說明/提示

對于輸入樣例中的三個數 A = [ 0 , 2 , 5 ] A = [0, 2, 5] A=[0,2,5],所有可能的運算符組合共有 9 9 9 種。計算結果如下:

0 ⊕ 2 ⊕ 5 = 7 0 \oplus 2 \oplus 5 = 7 025=7
0 ⊕ 2 + 5 = 7 0 \oplus 2 + 5 = 7 02+5=7
0 ⊕ 2 ? 5 = ? 3 0 \oplus 2 - 5 = -3 02?5=?3
0 + 2 ⊕ 5 = 7 0 + 2 \oplus 5 = 7 0+25=7
0 + 2 + 5 = 7 0 + 2 + 5 = 7 0+2+5=7
0 + 2 ? 5 = ? 3 0 + 2 - 5 = -3 0+2?5=?3
0 ? 2 ⊕ 5 = ? 7 0 - 2 \oplus 5 = -7 0?25=?7
0 ? 2 + 5 = 3 0 - 2 + 5 = 3 0?2+5=3
0 ? 2 ? 5 = ? 7 0 - 2 - 5 = -7 0?2?5=?7

所有結果的總和為:

7 + 7 + ( ? 3 ) + 7 + 7 + ( ? 3 ) + ( ? 7 ) + 3 + ( ? 7 ) = 11 7 + 7 + (-3) + 7 + 7 + (-3) + (-7) + 3 + (-7) = 11 7+7+(?3)+7+7+(?3)+(?7)+3+(?7)=11

11 11 11 1 0 9 + 7 10^9 + 7 109+7 取余后的值依然為 11 11 11,因此,輸出結果為 11 11 11

評測用例規模與約定

  • 對于 30 % 30\% 30% 的評測用例, 1 ≤ N ≤ 13 1 \leq N \leq 13 1N13 0 ≤ A i ≤ 1 0 3 0 \leq A_i \leq 10^3 0Ai?103
  • 對于 60 % 60\% 60% 的評測用例, 1 ≤ N ≤ 1 0 3 1 \leq N \leq 10^3 1N103 0 ≤ A i ≤ 1 0 5 0 \leq A_i \leq 10^5 0Ai?105
  • 對于 100 % 100\% 100% 的評測用例, 1 ≤ N ≤ 1 0 5 1 \leq N \leq 10^5 1N105 0 ≤ A i ≤ 1 0 9 0 \leq A_i \leq 10^9 0Ai?109

思路

  • 每一種組合真正對答案有貢獻的是一段異或的前綴,如果設計加減的運算會相互抵消,比如 0 ⊕ 2 ? 3 0 \oplus 2 - 3 02?3,一定會存在一個 0 ⊕ 2 + 3 0 \oplus 2 + 3 02+3,后面的加 + 3 +3 +3 ? 3 -3 ?3 就抵消掉了。
  • 異或前綴 i i i 對答案貢獻的數量是 2 × 3 n ? i ? 1 2 \times 3^{n - i - 1} 2×3n?i?1

代碼

#include <bits/stdc++.h>
using namespace std;#define int long longconst int N = 1e5 + 10, mod = 1e9 + 7;
int n, a[N], pre[N], pw3[N];signed main() {ios::sync_with_stdio(false); cin.tie(nullptr);cin >> n;pw3[0] = 1;for (int i = 1; i <= n; i++) {cin >> a[i];pw3[i] = pw3[i - 1] * 3 % mod;pre[i] = pre[i - 1] ^ a[i];}int ans = 0;for (int i = 1; i < n; i++) {ans = (ans + (pre[i] * 2 % mod) * pw3[n - i - 1] % mod) % mod;}ans = (ans + pre[n]) % mod;cout << ans << endl;return 0;
}

快讀模板

inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') {if (c == '-') f = -1;c = getchar();}while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
}

如果題目中有的變量需要用 long long 的話,可以直接在宏里面把 int 擴展到 long long,這樣比較方便(如下圖)。

#include <bits/stdc++.h>
using namespace std;#define int long longinline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') {if (c == '-') f = -1;c = getchar();}while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
}// 代碼signed main() {// 代碼return 0;
}

對拍代碼

整個對拍需要以下文件。bf.cpp文件里是暴力代碼,std.cpp文件里是用了算法的代碼,data.cpp用來生成輸入樣例,pai.cpp用來比較bf.cpp和stdcpp.out的結果是否相同。

注意:每次更改bf.cpp,std.cpp或data.cpp之后都需要重新編譯之后再運行pai.cpp進行對拍。

接下來以輸出 a + b 的程序來說明。

img1

bf.cpp

#include <bits/stdc++.h>
using namespace std;int main() {int a, b, oup = 0;cin >> a >> b;for (int i = 1; i <= a; i++) oup++;for (int i = 1; i <= b; i++) oup++;cout << oup;return 0;
}

std.cpp

#include <bits/stdc++.h>
using namespace std;int main() {int a, b;cin >> a >> b;if (a > 0) cout << a << endl;cout << a + b << endl;return 0;
}

data.cpp

#include <bits/stdc++.h>
using namespace std;mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());int rand(int l, int r) {return uniform_int_distribution<int>(l, r)(rng);
}int main() {srand(time(0));int a = rand(1, 100000000), b = rand(1, 100000000); // 隨機生成兩個數字cout << a << ' ' << b << endl; // 按照格式輸出return 0;
}

pai.cpp

可以不用自己創建txt文件,編譯運行一次 pai.cpp 之后會自動生成相應 txt 文件。

#include <bits/stdc++.h>
using namespace std;int main() {int t = 1;while (1) {printf("test%d: ", t++);system("data.exe > in.txt"); // 用 data.exe 生成輸入樣例,并存入 in.txt 文件中system("std.exe < in.txt > stdout.txt");// 將 in.txt 文件中的輸入樣例用來測試 std.cpp 中的代碼,并將結果輸出到 stdout.txt 文件中system("bf.exe < in.txt > bfout.txt");// 將 in.txt 文件中的輸入樣例用來測試 bf.cpp 中的代碼,并將結果輸出到 bf.out 文件中// 比較 stdout.txt 和 bfout.txt 文件是否一樣,一樣返回 false,不一樣返回 trueif (system("fc stdout.txt bfout.txt")) return 0;}
}

下圖是 pai.cpp 運行后的輸出結果,會顯示 WA 和輸出不一樣的地方。

img2
如果輸出樣例一樣的話,會一直顯示找不到差異。

在這里插入圖片描述
這個時候接著寫下一道題就好了,讓它在后臺接著運行,有可能后面會出現不一樣的地方。

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

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

相關文章

谷歌怎么設置在新標簽頁中打開網頁

按圖示操作即可&#xff0c;藏得真深啊&#xff0c;無語&#xff0c;而且就算打開了&#xff0c;點收藏夾&#xff0c;頂部快捷欄里的網站&#xff0c;網站里的連接&#xff0c;打開也還是覆蓋原來的&#xff0c;呵呵呵呵呵呵呵&#xff0c;有沒有人管管 另外我的edge不知咋滴…

【企業級數據安全】掌握高性能Log4j2敏感信息脫敏方案

前言 在數據安全合規日益嚴格的今天&#xff0c;日志中的敏感信息保護已成為企業IT建設的必備環節。本文帶您深入了解如何打造一套高性能、可實時配置的Log4j2日志脫敏插件&#xff0c;輕松應對各類敏感數據保護需求&#xff0c;讓您的系統既滿足合規要求&#xff0c;又不犧牲…

Linux中的tar -P選項

tar -P選項 Linux中的tar命令可用于文件和目錄的歸檔以及壓縮解壓縮。而其中的-P選項是什么含義呢&#xff1f;下面我們就來看一看 1、不添加-P選項 對于如下壓縮命令&#xff1a; tar -czvf pkg.tar.gz /opt/software執行該命名&#xff0c;控制臺首行輸出將會提示&#xf…

【2025年泰迪杯數據挖掘挑戰賽】B題 詳細解題思路+數據預處理+代碼分享

目錄 2025年泰迪杯B題詳細解題思路問題一問題分析數學模型Python代碼Matlab代碼 問題二問題分析數學模型Python代碼Matlab代碼 問題三問題分析數學模型Python代碼Matlab代碼 問題四問題分析數學模型Python代碼Matlab代碼 2025年泰迪杯B題詳細解題思路 初步分析整理了B題的賽題分…

SpringBoot3快速入門筆記

springboot3簡介 SpringBoot 幫我們簡單、快速地創建一個獨立的、生產級別的 Spring 應用&#xff08;說明&#xff1a;SpringBoot底層是Spring&#xff09; 大多數 SpringBoot 應用只需要編寫少量配置即可快速整合 Spring 平臺以及第三方技術 特性&#xff1a; ● 快速創建…

記錄centos8安裝寶塔過程(兩個腳本)

1、切換系統源&#xff08;方便使用寶塔安裝腳本下載&#xff09; bash <(curl -sSL https://linuxmirrors.cn/main.sh) 2、寶塔安裝腳本在寶塔的官網 寶塔面板下載&#xff0c;免費全能的服務器運維軟件 根據自己的系統選擇相應的腳本 urlhttps://download.bt.cn/insta…

Xdocreport實現根據模板導出word

只使用freemaker生成簡單的word文檔很容易&#xff0c;但是當word文檔需要插入動態圖片&#xff0c;帶循環數據&#xff0c;且含有富文本時解決起來相對比較復雜&#xff0c;但是使用Xdocreport可以輕易解決。 Xdocreport既可以實現文檔填充也可以實現文檔轉換&#xff0c;此處…

VMware Fusion Pro/Player 在 macOS 上的完整安裝與使用指南

VMware Fusion Pro/Player 在 macOS 上的完整安裝與使用指南—目錄 一、VMware 產品說明二、下載 VMware Fusion三、安裝前準備四、安裝 VMware Fusion步驟 1&#xff1a;安裝程序步驟 2&#xff1a;首次啟動配置步驟 3&#xff1a;輸入許可證 五、創建虛擬機步驟 1&#xff1a…

Redis常用數據結構和應用場景

一、前言 Redis提供了多種數據結構&#xff0c;每種結構對應不同的應用場景。本文對部分常用的核心數據結構和典型使用場景作出介紹。 二、String&#xff08;字符串&#xff09; 特點&#xff1a;二進制安全&#xff0c;可存儲文本、數字、序列化對象等。場景&#xff1a; 緩…

spring security oauth2.0的四種模式

OAuth 2.0 定義了 4 種授權模式&#xff08;Grant Type&#xff09;&#xff0c;用于不同場景下的令牌獲取。以下是每種模式的詳細說明、適用場景和對比&#xff1a; 一、授權碼模式&#xff08;Authorization Code Grant&#xff09; 適用場景 ? Web 應用&#xff08;有后端…

Oracle 排除交集數據 MINUS

MINUS 是 Oracle 數據庫中的一種集合操作符&#xff0c;用于返回第一個查詢結果中存在但第二個查詢結果中 不存在 的 唯一行。其核心功能是 排除交集數據&#xff0c;常用于數據差異分析或過濾特定記錄 一、核心功能 排除交集&#xff1a;返回第一個查詢結果中 不在第二個查詢結…

WiFi那些事兒(四)

目錄 一、IEEE 802.11ah標準簡介 二、IEEE 802.11ah信道特點 三、IEEE 802.11ah傳輸模式 在WiFi通信領域&#xff0c;信號繞射能力一直是一個關鍵問題。常規的WiFi設備多工作在2.4GHz和5GHz頻段&#xff0c;這些頻段的電磁波波長通常小于障礙物尺寸&#xff0c;受電磁波本身…

C++在Linux上生成動態庫并調用接口測試

加減乘除demo代碼 項目結構 CPP/ ├── calculator.cpp ├── calculator.h ├── main.cpp 頭文件 #ifndef CALCULATOR_H #define CALCULATOR_H#ifdef __cplusplus extern "C" {#endifdouble add(double a, double b);double subtract(double a, double b…

離線密碼生成器:安全可靠的密碼管理解決方案

離線密碼生成器&#xff1a;安全可靠的密碼管理解決方案 在當今數字時代&#xff0c;我們每天都需要使用各種網站和應用程序&#xff0c;每個賬戶都需要一個強密碼來保護我們的個人信息和隱私。然而&#xff0c;記住多個復雜的密碼幾乎是不可能的任務。今天&#xff0c;我要向…

ChatRex: Taming Multimodal LLM for Joint Perception and Understanding 論文理解和翻譯

一、TL&#xff1b;DR MLLM在感知方面存在不足&#xff08;遠遠比不上專家模型&#xff09;&#xff0c;比如Qwen2-VL在coco上recall只有43.9%提出了ChatRex&#xff0c;旨在從模型設計和數據開發兩個角度來填補這一感知能力的缺口ChatRex通過proposal邊界框輸入到LLM中將其轉…

自動駕駛技術-相機_IMU時空標定

自動駕駛技術-相機_IMU時空標定 時間延遲 時間延遲 參考鏈接1、2 相機主要分為全局和卷簾快門相機&#xff0c;從觸發到成像的過程包括&#xff1a;復位時間、AE()曝光時間、讀出時間 全局快門如下圖所示 卷簾快門如下圖所示 相機錄制視頻時&#xff0c;為了保持固定頻率&am…

Vue3 + Vite + TS,使用 Web Worker,web worker進階 hooks

worker 具體通訊方式 1.由 web page 發送消息- worker.postMessage(發送數據) 2.web worker 接收消息并執行相關邏輯- onmessage (e) > { 接收數據并處理邏輯postMessage(傳遞處理后的數據)} 3.由 web page 監聽 worker 消息&#xff0c;包括&#xff1a;- 處理數據的監聽…

AIDD-人工智能藥物設計-AI 精準預測蛋白質變構位點

Allo-PED: AI 精準預測蛋白質變構位點 目錄 Allo-PED 框架融合蛋白質語言模型與結構特征,顯著提高了變構位點預測的準確性和泛化能力。EcoFoldDB 利用蛋白質結構信息,為宏基因組提供了精確且可擴展的生態功能注釋新方法,顯著提升了對未知微生物功能的認知。上下文分子適配(…

1558 找素數

1558 找素數 ??難度&#xff1a;中等 &#x1f31f;考點&#xff1a;質數 &#x1f4d6; &#x1f4da; import java.util.Scanner; import java.util.Arrays;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int a sc.…

Nacos 提供了哪些服務的保護機制?

當面試官問這個問題時&#xff0c;大家一定要保持頭腦清醒&#xff0c;不要被帶跑偏了&#xff0c;Nacos 本身的核心定位是服務發現和配置管理中心&#xff0c;它并不直接提供像服務熔斷、服務限流、服務降級、請求重試 這類完整的、開箱即用的客戶端/網關級服務保護&#xff0…