題目 藍橋杯PREV 大合集

2022-04-30 19:24:13 字數 3432 閱讀 4192

【合集內容】

prev-8 至 prev-14

【空缺】

prev-11 prev-12

藍橋杯 prev-8 買不到的數目

問題描述:

小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。

小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。

你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合出來。

本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。

**:

1 #include 2

using

namespace

std;34

intn, m;56

intmain()

藍橋杯 prev-9 大臣的旅費

問題描述:

很久以前,t王國空前繁榮。為了更好地管理國家,王國修建了大量的快速路,用於連線首都和王國內的各大城市。

為節省經費,t國的大臣們經過思考,制定了一套優秀的修建方案,使得任何乙個大城市都能從首都直接或者通過其他大城市間接到達。同時,如果不重複經過大城市,從首都到達每個大城市的方案都是唯一的。

j是t國重要大臣,他巡查於各大城市之間,體察民情。所以,從乙個城市馬不停蹄地到另乙個城市成了j最常做的事情。他有乙個錢袋,用於存放往來城市間的路費。

聰明的j發現,如果不在某個城市停下來修整,在連續行進過程中,他所花的路費與他已走過的距離有關,在走第x千公尺到第x+1千公尺這一千公尺中(x是整數),他花費的路費是x+10這麼多。也就是說走1千公尺花費11,走2千公尺要花費23。

j大臣想知道:他從某乙個城市出發,中間不休息,到達另乙個城市,所有可能花費的路費中最多是多少呢?

**:

1 #include 2

using

namespace

std;34

#define maxn 1000556

class

edge e[maxn];

1011

intn, u, v, w, dis[maxn], mx, s, o, h[maxn];

1213

void add(int u, int v, int

w) , h[u] =o;15}

1617

void dfs(int o, int

f) 24}25

26int

main()

32 dfs(1, 0

);33

for (int i = 1; i <= n; i++)

34if (dis[i] > mx) mx = dis[i], s =i;

35 memset(dis, 0, sizeof(dis)), mx = 0

; 36 dfs(s, 0

);37

for (int i = 1; i <= n; i++)

38 mx =max(mx, dis[i]);

39 cout << 10 * mx + mx * (mx + 1) / 2;40

return0;

41 }

藍橋杯 prev-10 幸運數

問題描述:

幸運數是波蘭數學家烏拉姆命名的。它採用與生成素數類似的「篩法」生成

首先從1開始寫出自然數1,2,3,4,5,6,....

1 就是第乙個幸運數。

我們從2這個數開始。把所有序號能被2整除的項刪除,變為:

1 _ 3 _ 5 _ 7 _ 9 ....

把它們縮緊,重新記序,為:

1 3 5 7 9 .... 。這時,3為第2個幸運數,然後把所有能被3整除的序號位置的數刪去。注意,是序號位置,不是那個數本身能否被3整除!! 刪除的應該是5,11, 17, ...

此時7為第3個幸運數,然後再刪去序號位置能被7整除的(19,39,...)

最後剩下的序列類似:

1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 63, 67, 69, 73, 75, 79, ...

**:

1 #include 2

using

namespace

std;34

#define maxn 100000556

intl, r, x, o, f, m, ans, a[maxn];

78 priority_queue , greater >h;910

intmain()

22if (o == x) break;23

for (int i = 1; i <= o; i++)

24h.push(a[i]);25}

26for (int i = 1; i <= o; i++)

27 ans += l < a[i] && a[i] 28 cout <29return0;

30 }

藍橋杯 prev-13 網路尋路

問題描述:

x 國的乙個網路使用若干條線路連線若干個節點。節點間的通訊是雙向的。某重要資料報,為了安全起見,必須恰好被**兩次到達目的地。該包可能在任意乙個節點產生,我們需要知道該網路中一共有多少種不同的**路徑。

源位址和目標位址可以相同,但中間節點必須不同。

**:

1 #include 2

using

namespace

std;34

#define maxn 2000556

class

edge e[maxn];

1011

intu, v, n, m, ans, vis[maxn], h[maxn], o;

1213

void add(int u, int

v) , h[u] =o;15}

1617

void dfs(int o, int d, int

s) 22

for (int x = h[o]; x; x =e[x].nxt) 27}

2829

intmain()

藍橋杯 prev-14 高僧鬥法

[題目][藍橋杯prev-14] 高僧鬥法

藍橋杯 PREV 9 大臣的旅費

資源限制 時間限制 1.0s 記憶體限制 256.0mb 很久以前,t王國空前繁榮。為了更好地管理國家,王國修建了大量的快速路,用於連線首都和王國內的各大城市。為節省經費,t國的大臣們經過思考,制定了一套優秀的修建方案,使得任何乙個大城市都能從首都直接或者通過其他大城市間接到達。同時,如果不重複經過...

藍橋杯 PREV 12 危險係數

歷屆試題 危險係數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 抗日戰爭時期,冀中平原的地道戰曾發揮重要作用。地道的多個站點間有通道連線,形成了龐大的網路。但也有隱患,當敵人發現了某個站點後,其它站點間可能因此會失去聯絡。我們來定義乙個危險係數df x,y 對於兩個站點x和y x y ...

藍橋杯 PREV 3 帶分數

歷屆試題 帶分數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 100 可以表示為帶分數的形式 100 3 69258 714。還可以表示為 100 82 3546 197。注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。輸入格...