樓梯有n階,上樓可以一步上一階,也可以一步上二階。
編乙個程式,計算共有多少種不同的走法。
輸入格式:
乙個數字,樓梯數。
輸出格式:
走的方式幾種。
輸入樣例#1: 複製
4
輸出樣例#1: 複製
5
用遞迴會太慢,需用遞推
(60% n<=50 ,100% n<=5000)
思路:數學+高精
#include#include#include
#include
using
namespace
std;
intn;
struct
nondf[
5010
];void jia(int
pos)
for(;f[pos].num[0]>=1;f[pos].num[0]--) if(f[pos].num[f[pos].num[0]]) break;}
intmain()
f[1].num[1]=f[1].num[0]=f[0].num[0]=f[0].num[1]=1
;
for(int i=2;i<=n;i++) jia(i);
for(int i=f[n].num[0];i>=1;i--) cout<}
洛谷 P1255 數樓梯
樓梯有 nn 階,上樓可以一步上一階,也可以一步上二階。編乙個程式,計算共有多少種不同的走法。乙個數字,樓梯數。輸出走的方式總數。輸入 1複製 4輸出 1複製 5分析 說實話這題我真的快寫吐了,剛拿到的時候,開心的一批,遞推第一篇第一題,這麼水的嗎,不禁想起當年初次接觸acm,室友從cf上選了幾道題...
洛谷 P1255 數樓梯
題目鏈結 非常典型的 斐波那契 高精度 淺幫舍友做個題。不喜歡高精!對於60 的資料,n 50 對於100 的資料,1 n 5000 提交了一遍60分.用二維陣列dp x i x表示第幾步台階,i和位數相關。將走法的位數拆開分別存放在此行的每一列 從1到len 此行的某一列 上一行的某一列 上上行的...
洛谷習題 P1255 數樓梯
樓梯有n階,上樓可以一步上一階,也可以一步上二階。編乙個程式,計算共有多少種不同的走法。輸入格式 乙個數字,樓梯數。輸出格式 走的方式幾種。輸入樣例 輸出樣例 說明 提示 60 n 50 100 n 5000 根據題意會發現,到每階樓梯的走法數量和斐波那契數列很相像,都是f i f i 2 f i ...