洛谷 1057——台阶问题(递推与递归二分)
生活随笔
收集整理的這篇文章主要介紹了
洛谷 1057——台阶问题(递推与递归二分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
有N級的臺階,你一開始在底部,每次可以向上邁最多K級臺階(最少1級),問到達第N級臺階有多少種不同方式。
輸入輸出格式
輸入格式:
輸入文件的僅包含兩個正整數N,K。
輸出格式:
輸入文件stair.out僅包括1個正整數,為不同方式數,由于答案可能很大,你需要輸出mod 100003后的結果。
輸入輸出樣例
輸入樣例#1:
5 2
輸出樣例#1:
8
說明
對于20%的數據,有N ≤ 10, K ≤ 3;
對于40%的數據,有N ≤ 1000;
對于100%的數據,有N ≤ 100000,K ≤ 100。
遞推公式m[i]:=m[i]+m[i-j];
代碼如下:
vari,j,n,a,b:longint;m:array[-1000..100000] of longint; beginread(n,a);m[0]:=1;for i:=1 to n do for j:=1 to a do m[i]:=(m[i]+m[i-j]) mod 100003;write(m[n]); end.轉載于:https://www.cnblogs.com/Comfortable/p/8412405.html
總結
以上是生活随笔為你收集整理的洛谷 1057——台阶问题(递推与递归二分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell第二篇:正则表达式和文本处理工
- 下一篇: 【树莓派】【网摘】树莓派与XBMC及Ko