記憶體限制:64mb 時間限制:1000ms 特判: no
通過數:8 提交數:12 難度:3
有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少走法?
注:規定從一級到一級有0種走法。
輸入資料首先包含乙個整數n(1<=n<=100),表示測試例項的個數,然後是n行資料,每行包含乙個整數m,(1<=m<=40), 表示樓梯的級數。
對於每個測試例項,請輸出不同走法的數量。
複製
223
12分析:
1、第m階的走法應該是前面m-1階的走法 + 前面m-2階的走法;
2、m-1的走法就表示最後只走乙個台階,m-2的走法表示最後上兩個台階;
ps:所以我們可以類推,如果最初有三種走法即就是上1、2、3階,那麼當前的走法 = f[m-1] + f[m-2] + f[m-3].
核心**:
1for(int i = 4; i <= maxn; ++i)
2
c/c++**實現(ac):
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include1011
using
namespace
std;
12const
int maxn = 45;13
int f[maxn] = ;
1415
void
cal_excel()
1620
21int
main()
2232
return0;
33 }
nyoj 76 超級台階 (遞推)
記憶體限制 64mb 時間限制 1000ms 特判 no 通過數 8 提交數 12 難度 3 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少走法?注 規定從一級到一級有0種走法。輸入資料首先包含乙個整數n 1 n 100 表示測試例項的個數,然後是n行資料,每行...
超級台階(NYOJ76)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少走法?注 規定從一級到一級有0種走法。輸入 輸入資料首先包含乙個整數n 1 n 100 表示測試例項的個數,然後是n行資料,每行包含乙個整數m,...
nyoj 76 超級台階
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少走法?注 規定從一級到一級有0種走法。輸入 輸入資料首先包含乙個整數n 1 n 100 表示測試例項的個數,然後是n行資料,每行包含乙個整數m,...