題目 洛谷1192 台階問題(遞推)

2021-09-10 08:19:19 字數 738 閱讀 7585

題目描述:

有n級的台階,你一開始在底部,每次可以向上邁最多k級台階(最少1級),問到達第n級台階有多少種不同方式。

輸入輸出格式

輸入格式:

兩個正整數n,k。

輸出格式:

乙個正整數,為不同方式數,由於答案可能很大,你需要輸出ans mod 100003後的結果。

思路:

一開始想用深搜來做,每次從1到k步的迴圈內遞迴呼叫函式,當步數和等於n時,總數加1,然後返回,但是只過了第乙個測試點,其他的四千多毫秒。用遞推,可以想到,如果到第n個台階,那麼可以先到第n-i(i在1和k之間)個台階,然後在一步到達這個台階,即n-i的任意乙個台階都可以一步到達第n個台階。在乙個地方卡了好久,就是j從1到k的遍歷中,要保證i-j大於等於0才可以。

**:

#include

#include

using namespace std;

int a[

100005];

intmain()

}printf

("%d"

, a[n]);

return0;

}

洛谷 1192 台階問題(遞推,DP)

有 n 級的台階,你一開始在底部,每次可以向上邁最多 k 級台階 最少 1 級 問到達第 n 級台階有多少種不同方式。輸入格式 兩個正整數n,k。輸出格式 乙個正整數,為不同方式數,由於答案可能很大,你需要輸出 ans mod 100003 後的結果。輸入樣例 1 5 2輸出樣例 1 8對於 20 ...

遞推 洛谷 P1192 台階問題

題目描述有n 級的台階,你一開始在底部,每次可以向上邁最多 k級台階 最少 1級 問到達第 n級台階有多少種不同方式。輸入輸出格式 輸入格式 輸入檔案的僅包含兩個正整數n,k。輸出格式 輸入檔案 stair.out 僅包括1 個正整數,為不同方式數,由於答案可能很大,你需要輸出 mod 100003...

洛谷 P1192 台階問題

題目描述 有n級的台階,你一開始在底部,每次可以向上邁最多k級台階 最少1級 問到達第n級台階有多少種不同方式。輸入輸出格式 輸入格式 輸入檔案的僅包含兩個正整數n,k。輸出格式 輸入檔案stair.out僅包括1個正整數,為不同方式數,由於答案可能很大,你需要輸出mod 100003後的結果。輸入...