H 超級樓梯

2021-08-15 13:48:44 字數 513 閱讀 7941

有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?

輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m(1<=m<=40),表示樓梯的級數。

對於每個測試例項,請輸出不同走法的數量

2 2 31

2遞推

f(1)=0,因為開始就站在第1級台階上;

f(2)=1,只能從第1級台階上1級;

f(3)=2,只能從第1級台階上2級,或只能從第2級台階上1級;

f(n)=f(n-2)+f(n-1) ,n>=3。

構造出遞迴數列,直接查詢。

此題開始準備用回溯演算法,雖然結果能求出來,但是當階梯數增加到一定數量後,演算法變得很慢,會超時。

#include 

int func(int

x) returns;}

int main()

return

0;}

A 超級樓梯

有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同走法的數量 sample input22...

超級樓梯問題

時間限制 3000ms 記憶體限制 32768kb 統計描述 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?輸入輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。輸出對於每個測試例項,請輸出...

P 超級樓梯

有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同走法的數量 sample input 2...