d:上樓梯
檢視 提交 統計 提問
總時間限制: 1000ms 記憶體限制: 128kb
描述
小s在玩乙個叫上樓梯的遊戲。樓梯一共有n層台階。
因為腿長的限制,小s每次最多只能上k層台階。
小s是乙個迷信的人,所以他不希望自己某一步走的步數的數字裡有"4",(比如4,14,44都含有數字"4")。
現在,小s想要知道,有多少種走完這n層台階的方案?
輸入
輸入包含多組資料。
每組資料第一行輸入乙個整數 n, k(1 <= k <= n <= 50)。
輸入以 n,k=0 結束。
輸出
對於每組資料,輸出一行乙個整數,表示答案。
樣例輸入10 1
10 2
18 8
0 0樣例輸出189
71262
提示注意答案可能超過 int 所能表示的範圍,請謹慎選擇儲存答案以及中間資料的資料型別。
#include
#include
#include
using
namespace std;
const
int maxn =60;
typedef
long
long ll;
ll dp[maxn]
;ll search
(int n,
int k)
dp[0]
=1; dp[1]
=1;for
(int i =
2; i <= n; i++)}
}return dp[n];}
intmain()
memset
(dp,0,
sizeof
(dp));
cout <<
search
(n, k)
<< endl;
}return0;
}
上樓梯 動態規劃
題目 題目描述 有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階 3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007 給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。測試樣例 返回 1 解題思路 這題...
上樓梯 動態規劃
題目 題目描述 有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階 3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007 給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。測試樣例 返回 1 解題思路 這題...
動態規劃走樓梯
main.cpp 動態規劃走樓梯 created by liujan on 11 18 14.問題描述 乙個樓梯有20級,每次走1級或2級,從底走到 頂一共有多少種走法?分析 假設從底走到第n級的走法有f n 種,走到第n級 有兩個方法,乙個是從第 n 1 級走1步,另乙個是從第 n 2 級走2步,...