2016藍橋杯省賽 C語言A組

2021-07-10 17:34:13 字數 4628 閱讀 4961

所有題目答案均為 個人結果,非官方答案

答案:7 2.

生日蠟燭

某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。

現在算起來,他一共吹熄了236根蠟燭。

請問,他從多少歲開始過生日party的?

請填寫他開始過生日party的年齡數。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

題目的意思很明了,求那一歲開始生日

答案:26

3.方格填數

如下的10個格仔

+--+--+--+

|  |  |  |

+--+--+--+--+

|  |  |  |  |

+--+--+--+--+

|  |  |  |

+--+--+--+

(如果顯示有問題,也可以參看【圖1.jpg】)

填入0~9的數字。要求:連續的兩個數字不能相鄰。

(左右、上下、對角都算相鄰)

一共有多少種可能的填數方案?

請填寫表示方案數目的整數。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

自己的答案是多少 忘記了

//思路,藍橋的題,直接全排列,搜尋符合條件的,(填空題,出結果就行,騰時間給下面的題)

4.快速排序

排序在各種場合經常被用到。

快速排序是十分常用的高效率的演算法。

其思想是:先選乙個「標尺」,

用它把整個佇列過一遍篩子,

以保證:其左邊的元素都不大於它,其右邊的元素都不小於它。

這樣,排序問題就被分割為兩個子區間。

再分別對子區間排序就可以了。

下面的**是一種實現,請分析並填寫劃線部分缺少的**。

#include

void swap(int a, int i, int j)

int partition(int a, int p, int r)

______________________;

return j;

}void quicksort(int a, int p, int r)

int main()

注意:只填寫缺少的內容,不要書寫任何題面已有**或說明性文字。

答案:(-(~x))&x;

//考 位運算 ,自個兒推吧,當然答案不唯一。

6.寒假作業

現在小學的數學題目也不是那麼好玩的。

看看這個寒假作業:

□ + □ = □

□ - □ = □

□ × □ = □

□ ÷ □ = □

(如果顯示不出來,可以參見【圖1.jpg】)

每個方塊代表1~13中的某乙個數字,但不能重複。

比如:6  + 7 = 13

9  - 8 = 1

3  * 4 = 12

10 / 2 = 5

以及: 

7  + 6 = 13

9  - 8 = 1

3  * 4 = 12

10 / 2 = 5

就算兩種解法。(加法,乘法交換律後算不同的方案)

你一共找到了多少種方案?

請填寫表示方案數目的整數。

答案:

我寫得具體多少忘記了,說一下思路,還是全排列,

搜尋符合條件的,填空題,別管時間複雜度、什麼的,出結果就行,關鍵是騰時間。

7.剪郵票

如【圖1.jpg】, 有12張連在一起的12生肖的郵票。

現在你要從中剪下5張來,要求必須是連著的。

(僅僅連線乙個角不算相連)

比如,【圖2.jpg】,【圖3.jpg】中,粉紅色所示部分就是合格的剪取。

請你計算,一共有多少種不同的剪取方法。

請填寫表示方案數目的整數。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

//這道題我好像做錯了,dfs+減枝

//注意:不要剪 重了,即從第乙個位置遍歷後的結果,從第二個位置遍歷是有 重覆記錄了。

8.四平方和

四平方和定理,又稱為拉格朗日定理:

每個正整數都可以表示為至多4個正整數的平方和。

如果把0包括進去,就正好可以表示為4個數的平方和。

比如:5 = 0^2 + 0^2 + 1^2 + 2^2

7 = 1^2 + 1^2 + 1^2 + 2^2

(^符號表示乘方的意思)

對於乙個給定的正整數,可能存在多種平方和的表示法。

要求你對4個數排序:

0 <= a <= b <= c <= d

並對所有的可能表示法按 a,b,c,d 為聯合主鍵公升序排列,最後輸出第乙個表示法

程式輸入為乙個正整數n (n<5000000)

要求輸出4個非負整數,按從小到大排序,中間用空格分開

例如,輸入:

5則程式應該輸出:

0 0 1 2

再例如,輸入:

12則程式應該輸出:

0 2 2 2

再例如,輸入:

773535

則程式應該輸出:

1 1 267 838

資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 3000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

//我做的這道題肯定超時了,但無所謂,有分就行。

//求不超時解法

9.密碼脫落

x星球的考古學家發現了一批古代留下來的密碼。

這些密碼是由a、b、c、d 四種植物的種子串成的序列。

仔細分析發現,這些密碼串當初應該是前後對稱的(也就是我們說的映象串)。

由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。

你的任務是:

給定乙個現在看到的密碼串,計算一下從當初的狀態,它要至少脫落多少個種子,才可能會變成現在的樣子。

輸入一行,表示現在看到的密碼串(長度不大於1000)

要求輸出乙個正整數,表示至少脫落了多少個種子。

例如,輸入:

abcba

則程式應該輸出:

0再例如,輸入:

abecdcbabc

則程式應該輸出:

3資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

//考試時,考場老師說這道題輸入的字串中只包含a、b、c、d

//求答案

10.最大比例

x星球的某個大獎賽設了m級獎勵。每個級別的獎金是乙個正整數。

並且,相鄰的兩個級別間的比例是個固定值。

也就是說:所有級別的獎金數構成了乙個等比數列。比如:

16,24,36,54

其等比值為:3/2

現在,我們隨機調查了一些獲獎者的獎金數。

請你據此推算可能的最大的等比值。

輸入格式:

第一行為數字n,表示接下的一行包含n個正整數

第二行n個正整數xi(xi<1 000 000 000 000),用空格分開。每個整數表示調查到的某人的獎金數額

要求輸出:

乙個形如a/b的分數,要求a、b互質。表示可能的最大比例係數

測試資料保證了輸入格式正確,並且最大比例是存在的。

例如,輸入:

31250 200 32

程式應該輸出:

25/4

再例如,輸入:

43125 32 32 200

程式應該輸出:

5/2再例如,輸入:

3549755813888 524288 2

程式應該輸出:

4/1資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 3000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

//由於不確定自己結果的對錯,不與寫了

藍橋杯A組省賽 迷宮

1.迷宮 原文 x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則 l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。x星球的居民有點懶,不願意費力思考。他...

藍橋杯 2016省賽 剪郵票

思路 一開始想到dfs套模板來用,可是發現像12346這種無法掃瞄到。從已經剪下來的任乙個點都可以開始dfs。這樣就不會漏掉情況 圖中的123456789101112數字沒有用處。在判斷重複的時候簡單的壓縮一下,2的13次方之內的即可儲存 include include using namespac...

2016藍橋杯省賽 抽籤(填空)

x星球要派出乙個5人組成的觀察團前往w星。其中 a國最多可以派出4人。b國最多可以派出2人。c國最多可以派出2人。那麼最終派往w星的觀察團會有多少種國別的不同組合呢?下面的程式解決了這個問題。陣列a 中既是每個國家可以派出的最多的名額。程式執行結果為 defff cefff cdfff cdeff ...