P1192 臺階問題
阿新 • • 發佈:2019-01-12
題目描述
有NN級的臺階,你一開始在底部,每次可以向上邁最多KK級臺階(最少11級),問到達第NN級臺階有多少種不同方式。
輸入輸出格式
輸入格式:
兩個正整數N,K。
輸出格式:
一個正整數,為不同方式數,由於答案可能很大,你需要輸出ans \bmod 100003ansmod100003後的結果。
輸入輸出樣例
輸入樣例#1: 複製5 2輸出樣例#1: 複製
8
說明
對於20\%20%的資料,有N ≤ 10, K ≤ 3N≤10,K≤3;
對於40\%40%的資料,有N ≤ 1000N≤1000;
對於100\%100%的資料,有N ≤ 100000,K ≤ 100N≤100000,K≤100。
#include<stdio.h> #include<string.h> #define MAX 100010 int main() { int n, k, i, j, s[MAX]; memset(s, 0, sizeof(s)); scanf("%d %d", &n, &k); s[0] = 1; for(i = 1; i <= n; ++i) { for(j = 1; j <= k; ++j) { if(i >= j) { s[i] = s[i] + s[i - j]; s[i] = s[i] % 100003; } } } printf("%d\n", s[n]); return 0; }