博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 题解 P1135 【奇怪的电梯】
阅读量:4650 次
发布时间:2019-06-09

本文共 761 字,大约阅读时间需要 2 分钟。

大家都没有想到可以用DP做吗...

用f[i]表示从a楼去i楼所用的最少步数

目标:f[b]

初值:f[a]=0

转移:自己看代码,有注释

那不就是一道大水题???

时间复杂度:O(n^2),AC!

空间就不说了,秀的可以

代码

#include
#include
using namespace std;int f[205],k[205];int main() { int n,a,b; scanf("%d",&n); scanf("%d%d",&a,&b);//输入 for(int i=1; i<=200; i++)f[i]=999999999;//init for(int i=1; i<=n; i++)scanf("%d",&k[i]);//输入 f[a]=0;//初值 for(int j=1; j<=n; j++) {//枚举j次,保证正确性 for(int i=1; i<=n; i++) {//枚举楼层 if(i-k[i]>=1)f[i-k[i]]=min(f[i-k[i]],f[i]+1); if(i+k[i]<=n)f[i+k[i]]=min(f[i+k[i]],f[i]+1);//如果能到,就取更优值 } } if(f[b]==999999999)printf("-1\n");//到不了 else printf("%d\n",f[b]);//可以去 return 0;}

转载于:https://www.cnblogs.com/Barcelona-Messi/p/10928798.html

你可能感兴趣的文章
strncpy函数使用
查看>>
(一)SOA学习-相关缩写
查看>>
Apache ab 压力测试工具
查看>>
noi.ac NOIP2018 全国热身赛 第四场 T1 tree
查看>>
(转)linux下vi编辑器编写C语言的配置
查看>>
多线程基础知识 转
查看>>
MyBatis generator 使用方式 小结
查看>>
Android小项目之五 splash动画效果
查看>>
JavaScript 第十章总结:first class functions
查看>>
微信公众号发送客服消息【文本、图片】
查看>>
iText简介(转)
查看>>
vue搭建后可以改下全局配置
查看>>
【Docker】Segmentation Fault or Critical Error encountered. Dumping core and abort
查看>>
字典树从第i个构造HDU2846
查看>>
SQL优化笔记(二)—CPU优化
查看>>
bzoj 1042 HAOI2008 硬币购物
查看>>
JS 心得总结
查看>>
WINDOWS 下安装boost
查看>>
Log4j(1)--hellloworld
查看>>
java中equals和 == 的区别
查看>>