洛谷 P1255 數樓梯

2022-04-06 06:32:30 字數 727 閱讀 8593

樓梯有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 ...