首页 > 学院 > 开发设计 > 正文

洛谷 P1255 数楼梯

2019-11-08 01:07:24
字体:
来源:转载
供稿:网友

题目

楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。

题解

高精度加法,f[n]=f[n-1]+f[n-2] 要注意n=0的情况 时间复杂度(n*1500)

代码

var n,i,j:longint; d:array[-1..5000,1..1500]of longint;PRocedure add(k:longint);var i,j,g,a,b,c:longint;begin a:=k-2;b:=k-1;c:=k; g:=0; for i:=1 to 1500 do begin d[c,i]:=d[a,i]+d[b,i]+g; g:=d[c,i] div 10; d[c,i]:=d[c,i] mod 10; end;end;begin readln(n); if n=0 then begin writeln('0');halt;end; d[0,1]:=1; for i:=1 to n do add(i); i:=1500; while (d[n,i]=0)and(i>1) do dec(i); for j:=i downto 1 do write(d[n,j]);end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表