洛谷 题解 P1135 【奇怪的电梯】

 2023-09-11 阅读 13 评论 0

摘要:大家都没有想到可以用DP做吗... 用f[i]表示从a楼去i楼所用的最少步数 目标:f[b] 初值:f[a]=0 转移:自己看代码,有注释 东芝电梯外呼显示P、那不就是一道大水题??? 时间复杂度:O(n^2),AC! 空间就不说了,秀

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

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

目标:f[b]

初值:f[a]=0

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

东芝电梯外呼显示P、那不就是一道大水题???

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

空间就不说了,秀的可以

代码


#include<cstdio>
#include<algorithm>
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;//initfor(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

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/43810.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息