思考了很久一直沒有結論,在網上調查了一下發現可以使用遞迴的方式來解決。
對於任意的第m級階梯,有以下兩種策略來達到:
從m-1級走一步到m級
從m-2級走兩步到m級
分析上述兩種方式,發現到m級的走法其實就是m-1級和m-2級的走法的和。(事後發現完全就是兔子數列_(:з)∠)_,不過遞迴超時了,就寫成了數列的形式。)
#include using namespace std;
int main()
scanf("%d",&n);
for(int i = 0; i < n; i++)
for(int i = 0; i < n; i++)
return 0;
}
HDOJ 2041 超級樓梯
題目鏈結 problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,...
(遞推入門)超級樓梯 HDOJ
超級樓梯 problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,...
A 超級樓梯
有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸出不同走法的數量 sample input22...