楼梯
来源:互联网 发布:天猫小二和淘宝小二 编辑:程序博客网 时间:2024/04/20 23:06
1520. 【普及模拟】楼梯
(File IO): input:c.in output:c.out
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
第三题,其实可以用一个dfs直接打过,最主要还可以用dp扫过。在此我两个方法都介绍一下:
Dfs:首先,我们需要带入三个参数(t,h,s)t表示现在走到第t级楼梯,h表示走到现在一共连续退后了h步,s表示走到这一格一共走了s步。然后只需要一个出口,这个我就不说了。然后就是三种情况,一种是走一格,一种是后退,一种是“蹦”上去。那么我们只需要每个都判断一个遍就可以了。
Dp:f[i]表示走到第I格的最短路。只需要每个判断一下两种情况,一个直接走来的,一个“蹦”过来的。其中“蹦”过来的需要注意加上退后的步数。
代码:
procedure dg(t,h,sum:longint);var i,j:longint;begin if t=n then begin exit; end; if (a[t+1]-a[t]=1)and(sum+1<b[t+1]) then begin b[t+1]:=sum+1; dg(t+1,0,sum+1); end; if t>1 then begin dg(t-1,h+1,sum+1); end; if (h>1) then begin j:=find(h); a[n+1]:=maxlongint; for i:=t+h to n+1 do begin if a[i]-a[t]>j then break; end; if i=t+h then exit; if sum+1<b[i-1] then begin b[i-1]:=sum+1; dg(i-1,0,sum+1); end; end;end;
0 0
- 楼梯
- 爬楼梯
- 爬楼梯
- 爬楼梯
- 爬楼梯
- 超级楼梯
- 爬楼梯
- 爬楼梯
- 音乐楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 走楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 渗透测试笔记:爬虫变蠕虫的故事
- Android实现文件,图片上传,以及服务端接收相关。
- 修复grub
- 模拟在原来系统功能中需要引进新功能的适配器模式
- eclipse中如何按装gradle的插件
- 楼梯
- Myeclipse中右键找不到Configure和Convert to maven project
- 给listview item 增加长方形框的背景
- Servlet必须掌握的基础知识
- meteor错误解决方案
- uri路径获取的三种方法
- guava处理字符串与List之间,字符串与map之间的转换
- 图论常用模板
- mysql