藍橋杯 歷屆B組 程式填空總結(c c )

2021-09-12 00:22:22 字數 2347 閱讀 9777

本文章中沒有涉及到的題目,是因為與本人的另一篇部落格 藍橋杯  歷屆a組 程式填空總結(c/c++)  題目重複,所以在此就不重複上傳。如果需要,自己去找。

藍橋杯 歷屆b組 程式填空總結(c/c++)

1. 字串

2. 關聯賬戶

3. 抽籤

4.棋子換位

5. 取數字

6.希爾伯特曲線

7. 快速排序

輸入乙個字串,求它包含多少個單詞。單詞間以乙個或者多個空格分開。

第乙個單詞前,最後乙個單詞後也可能有0到多個空格。

比如:" abc    xyz" 包含兩個單詞,"ab   c   xyz    "  包含3個單詞。

如下的程式解決了這個問題,請填寫劃線部分缺失的**。

注意:只填寫劃線部分的**,不要填寫任何多餘的內容。比如已經存在的小括號,注釋或說明文字等。

int get_word_num(char* buf)

//填空 *p!=' ' &&tag==1 }

return n;

}int main()

為增大反腐力度,某地**專門支隊,對若干銀行賬戶展開調查。

如果兩個賬戶間發生過轉賬,則認為有關聯。如果a,b間有關聯, b,c間有關聯,則認為a,c間也有關聯。

對於調查範圍內的n個賬戶(編號0到n-1),**已知道m條因轉賬引起的直接關聯。

現在希望知道任意給定的兩個賬戶,求出它們間是否有關聯。有關聯的輸出1,沒有關聯輸出0

小明給出了如下的解決方案:

#include #define n 100

int connected(int* m, int p, int q)

void link(int* m, int p, int q)

for(i=0; i<=a[k]; i++)

int valid(char* data, int k)

void f(char* data)

// 取x的第k位數字

int f(int x, int k)

int main()

希爾伯特曲線是以下一系列分形曲線 hn 的極限。我們可以把 hn 看作一條覆蓋 2^n × 2^n 方格矩陣的曲線,曲線上一共有 2^n × 2^n 個頂點(包括左下角起點和右下角終點),恰好覆蓋每個方格一次。

hn(n > 1)可以通過如下方法構造:

1. 將 hn-1 順時針旋轉90度放在左下角

2. 將 hn-1 逆時針旋轉90度放在右下角

3. 將2個 hn-1 分別放在左上角和右上角

4. 用3條單位線段把4部分連線起來

對於 hn 上每乙個頂點 p ,我們定義 p 的座標是它覆蓋的小方格在矩陣中的座標(左下角是(1, 1),右上角是(2^n, 2^n),從左到右是x軸正方向,從下到上是y軸正方向),

定義 p 的序號是它在曲線上從起點開始數第幾個頂點(從1開始計數)。

以下程式對於給定的n(n <= 30)和p點座標(x, y),輸出p點的序號。請仔細閱讀分析原始碼,填寫劃線部分缺失的內容。

#include long long f(int n, int x, int y) 

if (x > m && y <= m)

if (x <= m && y > m)

if (x > m && y > m)

}int main()

以下**可以從陣列a中找出第k小的元素。

它使用了類似快速排序中的分治演算法,期望時間複雜度是o(n)的。

#include int quick_select(int a, int l, int r, int k) 

int i = l, j = r;

while(i < j)

while(i < j && a[j] > x) j--;

if(i < j)

} a[i] = x;

p = i;

if(i - l + 1 == k) return a[i];

if(i - l + 1 < k) return quick_select( ____________ ); //填空 a, p, r, k-i+l

else return quick_select(a, l, i - 1, k);}

int main()

; printf("%d\n", quick_select(a, 0, 14, 5));

return 0;

}

2023年藍橋杯B組C C 決賽題目

從昏迷中醒來,小明發現自己被關在x星球的廢礦車裡。礦車停在平直的廢棄的軌道上。他的面前是兩個按鈕,分別寫著 f 和 b 小明突然記起來,這兩個按鈕可以控制礦車在軌道上前進和後退。按f,會前進97公尺。按b會後退127公尺。透過昏暗的燈光,小明看到自己前方1公尺遠正好有個監控探頭。他必須設法使得礦車正...

2023年藍橋杯B組C C 決賽題解

三重迴圈 列舉a,b,c的值,如果滿足兩個條件 3個a 7個b 1個c 15 4個a 10個b 1個c 420 就是一組合法的解。輸出a b c就是答案 一開始以為很難,看了題解 都是用dfs暴力搜出來的 國賽第二題永遠是用dfs解決。下面部落格dfs的很完美啊!參考部落格 思路 dfs x,y 正...

2015藍橋杯b組

如果x的x次冪結果為10 參見 圖1.png 你能計算出x的近似值嗎?顯然,這個值是介於2和3之間的乙個數字。請把x的值計算到小數後6位 四捨五入 並填寫這個小數值。注意 只填寫乙個小數,不要寫任何多餘的符號或說明。include include include include include de...