第七屆藍橋杯決賽試題 機械人塔

2021-08-19 22:57:00 字數 1328 閱讀 2479

機械人塔

x星球的機械人表演拉拉隊有兩種服裝,a和b。

他們這次表演的是搭機械人塔。

類似: a

b ba b a

a a b b

b b b a b

a b a b b a

隊內的組塔規則是:

a 只能站在 aa 或 bb 的肩上。

b 只能站在 ab 或 ba 的肩上。

你的任務是幫助拉拉隊計算一下,在給定a與b的人數時,可以組成多少種花樣的塔。

輸入一行兩個整數 m 和 n,空格分開(0

500),分別表示a、b的人數,保證人數合理性。

要求輸出乙個整數,表示可以產生的花樣種數。

例如:使用者輸入:12

程式應該輸出:

3再例如:

使用者輸入:33

程式應該輸出:

4資源約定:

峰值記憶體消耗 < 256m

cpu消耗 < 1000ms

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

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

注意: main函式需要返回0

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

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

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

**僅供參考

// 機械人塔

#include

using

namespace

std;

int h[50]; // 每層的ab總數(最多不超過50層)

int m,n,k,res; // m個a, n個b, k為層數,也是最後一層的個數

char cn[50];

char ct[50];

void init()

cin >> m >> n;

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

}bool judge(int t)

// 這一層的ab個數統計完後, 將這一層更新為下一層,繼續統計

for(int i=0;i1;++i)

--t;

}if(sa==m && sb==n) return

true;

return

false;

}void dfs(int i)

else

}int main()

藍橋杯第七屆決賽 機械人塔

機械人塔 x星球的機械人表演拉拉隊有兩種服裝,a和b。他們這次表演的是搭機械人塔。類似 a b ba b a a a b b b b b a b a b a b b a 隊內的組塔規則是 a 只能站在 aa 或 bb 的肩上。b 只能站在 ab 或 ba 的肩上。你的任務是幫助拉拉隊計算一下,在給定...

藍橋杯 C語言B組 第七屆決賽題解 機械人塔

機械人塔 x星球的機械人表演拉拉隊有兩種服裝,a和b。他們這次表演的是搭機械人塔。類似 a b b a b a a a b b b b b a b a b a b b a 隊內的組塔規則是 a 只能站在 aa 或 bb 的肩上。b 只能站在 ab 或 ba 的肩上。你的任務是幫助拉拉隊計算一下,在給...

藍橋杯 第七屆決賽 打靶

打靶 小明參加x星球的打靶比賽。比賽使用電子感應計分系統。其中有一局,小明得了96分。這局小明共打了6發子彈,沒有脫靶。但望遠鏡看過去,只有3個彈孔。顯然,有些子彈準確地穿過了前邊的彈孔。不同環數得分是這樣設定的 1,2,3,5,10,20,25,50 那麼小明的6發子彈得分都是多少呢?有哪些可能情...