洛谷 P1192 台階問題 題解

2021-09-25 21:33:42 字數 955 閱讀 4008

題目描述

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

輸入輸出格式

輸入格式:

兩個正整數n,k。

輸出格式:

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

輸入輸出樣例

輸入樣例#1:

5 2輸出樣例#1:

8說明

時空限制: 1000ms/128mb

對於20%的資料,有n ≤ 10, k ≤ 3

對於40%的資料,有n ≤ 1000

對於100%的資料,有n ≤ 100000,k ≤ 100

思路:

1、之前做過k==2的台階問題,狀態轉移方程是f[i]=f[i-1]+f[i-2],這題規律也一樣。

2、第0階台階就有1種方法可到達,第n階的走法就是從n-k階到n-1階的走法之和。

3、注意每次求出來的數都要求模,否則資料有可能太大導致陣列溢位。

**如下:

#include 

#include

#include

#include

using namespace std;

int f[

1000010]=

;//陣列初始化為0

intmain()

printf

("%d"

,f[n]);

return0;

}

洛谷 P1192 台階問題

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

洛谷 P1192 台階問題

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

洛谷P1192 台階問題

設a i 為走到第i階的方法數 假設最多可以走k步,對任意x x k 容易知道 1.a x a x 1 a x 2 a x k 2.a x 1 a x a x 1 a x 2 a x 1 k 2 a x a x k 所以我們只需要先求出a 1 a k 然後剩下的a k 1 a n 就可以直接通過上面...