第八屆藍橋杯 字母組串

2021-10-05 06:07:42 字數 798 閱讀 9595

【問題描述】

由 a,b,c 這3個字母就可以組成許多串。 比如:「a」,「ab」,「abc」,「aba」,「aacbb」 …

現在,小明正在思考乙個問題: 如果每個字母的個數有限定,能組成多少個已知長度的串呢?

他請好朋友來幫忙,很快得到了**, 解決方案超級簡單,然而最重要的部分卻語焉不詳。

請仔細分析原始碼,填寫劃線部分缺少的內容。

#include

// a個 a,b個 b,c個 c 字母,能組成多少個不同的長度為 n 的串。

intf

(int a,

int b,

int c,

int n)

intmain()

對於上面的測試資料,小明口算的結果應該是:

【答案提交】

注意:只填寫劃線部分缺少的**,不要提交任何多餘內容或說明性文字。

答案:f(a-1, b, c, n-1) + f(a, b-1, c, n-1) + f(a, b, c-1, n-1)

解題思路:

這裡以 f(a-1, b, c, n-1) 為例

a 表示字母a的數量,n 表示字串長度,

那麼 a-1 就表示往串中新增了乙個a,所以字串的剩餘空間變為 n-1

第八屆藍橋杯省賽C A組 字母組串(遞迴)

include a個a,b個b,c個c 字母,能組成多少個不同的長度為n的串。int f int a,int b,int c,int n int main 對於上面的測試資料,小明口算的結果應該是 619 注意 只填寫劃線部分缺少的 不要提交任何多餘內容或說明性文字。答案 f a 1,b,c,n 1...

藍橋杯第八屆決賽

精神狀態不好的時候怎麼寫 真的哭了,一堆sb錯誤 對於16進製制,我們使用字母a f來表示10及以上的數字。如法炮製,一直用到字母z,就可以表示36進製。36進製中,a表示10,z表示35,aa表示370 你能算出 many 表示的數字用10進製表示是多少嗎?請提交乙個整數,不要填寫任何多餘的內容 ...

第八屆 藍橋 A組C

第一題 數的時候先數第一行u的 再數能到達u的 再數最後一行帶d的 能到達d的 第一列帶l的 能到達l的 最後一列帶r的 能到達r的 實現還是很麻煩啊 能數就認真數吧 爭取半小時完成。思路 1 暴力遞迴 宣告二維陣列 寫進去 int sum記錄走出來的人數。定義乙個bool陣列,初始為false 定...