題目:超級樓梯
problem description
有一樓梯共m級,剛開始時你在第一級,若每次最多只能跨n級,要走上第m級,共有多少種走法?
input
輸入資料首先包含乙個整數t(t<=100),表示測試例項的個數,然後是t行資料,每行包含乙個整數m(1<=m<=40),表示樓梯的級數,還有n值(1<=n<=4)。
output
對於每個測試例項,請輸出不同走法的數量
sample input
33 2
4 2 4 3
sample output
3歸納法:
設剛好爬到k(1≤k≤m)階梯有a(k)種不同爬法,按條件不難得出:a(1)=1,a(2)=2,…,a(n)=2^(n-1) 當1≤k≤n時a(k)=a(k-1)+a(k-2)+…+a(k-n) 當n<k時通過上式不斷迭代求出需要的a(m)c++實現**如下:#include#include
using namespace std;
int main()
int f[41];
int kk[101];
for(t=1;t<=t;t++)
kk[t]=f[m];
cout<
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...