【合集內容】
prev-8 至 prev-14
【空缺】
prev-11 prev-12
藍橋杯 prev-8 買不到的數目
問題描述:
小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。
**:
1 #include 2using
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 2using
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 2using
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 2using
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 種表示法。輸入格...