a186: 爬樓梯Stair
標籤 : 2015 Q_C 初賽 網際網路程式設計全國⼤賽 高中組
通過比率 : 6人/7人 ( 86% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-11-10 13:31

內容

運動系⼥孩—— ⼩希,每天回家的時候她都不搭電梯,⽽是選擇爬樓梯,順腳節能減碳愛地球。但是,每次都單純地爬樓梯實在是太枯燥了,富有求知慾的⼩希於是想到了⼀個有趣的問題:


「如果每步最多可以向上跨m 階的話,有幾種⽅式可以從第0 階爬到第n 階呢?」
舉例⽽⾔,如果n = 4;m = 2 的話,有⟨1; 2; 3; 4⟩; ⟨1; 2; 4⟩; ⟨1; 3; 4⟩; ⟨2; 3; 4⟩; ⟨2; 4⟩ 這五種不同的過程可以從第0 階爬到第n 階。


然⽽,⼩希數著數著發現,在⼀些情況下⽅法數實在太多種了,希望聰明的你可以幫幫她,計算出共有多少種不同的爬樓梯過程。

輸入說明

輸⼊有⼀⾏兩個整數n;m,以單⼀空⽩字元隔開,分別代表總共有幾階跟每步⾄多跨幾階。
• 1<n< 1018
• 1≤ m≤ min(n; 500)

輸出說明

請輸出⼀個整數於⼀⾏,代表共有幾種不同的可⾏爬樓梯過程。由於答案可能很⼤,請輸出
答案除以1000000007 (109 + 7) 的餘數。

範例輸入 #1
4 2
範例輸出 #1
5
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (50%): 1.0s , <1K
公開 測資點#1 (50%): 1.0s , <1K
提示 :
標籤:
2015 Q_C 初賽 網際網路程式設計全國⼤賽 高中組
出處:
2015NPSC [管理者: ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」