当前位置: 首页 > wzjs >正文

做个外贸网站多少钱深圳网站建设q479185700強

做个外贸网站多少钱,深圳网站建设q479185700強,年前做网站的好处,建设主题网站的顺序是什么题目:P1135 奇怪的电梯 P1135 奇怪的电梯 题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i i i 层楼( 1 ≤ i ≤ N 1 \le i \le N 1≤i≤N)上有一个数…

题目:P1135 奇怪的电梯

P1135 奇怪的电梯

题目描述

呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i i i 层楼( 1 ≤ i ≤ N 1 \le i \le N 1iN)上有一个数字 K i K_i Ki 0 ≤ K i ≤ N 0 \le K_i \le N 0KiN)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如: 3 , 3 , 1 , 2 , 5 3, 3, 1, 2, 5 3,3,1,2,5 代表了 K i K_i Ki K 1 = 3 K_1=3 K1=3 K 2 = 3 K_2=3 K2=3,……),从 1 1 1 楼开始。在 1 1 1 楼,按“上”可以到 4 4 4 楼,按“下”是不起作用的,因为没有 − 2 -2 2 楼。那么,从 A A A 楼到 B B B 楼至少要按几次按钮呢?

输入格式

共二行。

第一行为三个用空格隔开的正整数,表示 N , A , B N, A, B N,A,B 1 ≤ N ≤ 200 1 \le N \le 200 1N200 1 ≤ A , B ≤ N 1 \le A, B \le N 1A,BN)。

第二行为 N N N 个用空格隔开的非负整数,表示 K i K_i Ki

输出格式

一行,即最少按键次数,若无法到达,则输出 -1

输入输出样例 #1

输入 #1

5 1 5
3 3 1 2 5

输出 #1

3

说明/提示

对于 100 % 100 \% 100% 的数据, 1 ≤ N ≤ 200 1 \le N \le 200 1N200 1 ≤ A , B ≤ N 1 \le A, B \le N 1A,BN 0 ≤ K i ≤ N 0 \le K_i \le N 0KiN

本题共 16 16 16 个测试点,前 15 15 15 个每个测试点 6 6 6 分,最后一个测试点 10 10 10 分。


做法1:DFS

#include <bits/stdc++.h>
using namespace std;
int k[301];//楼层的值 
int minstep[301];//每层楼的最小步数 
int ans=-1;//存储结果 
int n,a,b;
void dfs(int x,int step)
{if(ans!=-1&&step>=ans) return;//剪枝if(x==b)//到达终点 {if(ans==-1||step<ans)//判断是否有更小的步数 {ans=step;}return;}//记忆化剪枝:如果当前的步数不比之前的步数更优 if(step>=minstep[x]) return;minstep[x]=step;//更新最小步数 int up=x+k[x];//往上 if(up<=n) dfs(up,step+1); //判断是否符合条件 int down=x-k[x];//往下 if(down>=1) dfs(down,step+1); //判断是否符合条件 
}
int main() {cin>>n>>a>>b;for(int i=1;i<=n;i++){cin>>k[i];}fill(minstep, minstep + 201, INT_MAX);//初始化 dfs(a,0); //从a开始 cout<<(ans!=-1?ans:-1);return 0;
}

做法2:BFS

#include <bits/stdc++.h>
using namespace std;
int k[301];
int step[301];
int n,a,b;
int main() {cin>>n>>a>>b;for(int i=1;i<=n;i++){cin>>k[i];}fill(step, step + 201, -1);//初始化 step[a]=0;//起点的步数是0 queue<int>q;//创建队列 q.push(a);//将起点入队 while(!q.empty())//bfs {int x=q.front();//获取头元素 q.pop();//并弹出 if(x==b)//如果到达了终点,就输出步数 {cout<<step[x];return 0;}//上楼 int up=x+k[x];if(up<=n&&step[up]==-1)//楼层在条件内且未被访问过 {step[up]=step[x]+1;//步数++ q.push(up);//入队 }//下楼 int down=x-k[x];if(down>=1&&step[down]==-1)//楼层在条件内且未被访问过{step[down]=step[x]+1;//步数++q.push(down);//入队 } }cout<<-1;//队列为空,未找到输出-1 return 0;
}

总结

这道题目是一道经典的搜索问题,适合用来练习 ​DFS(深度优先搜索)​ 和 ​BFS(广度优先搜索)​ 的模板


本文章为平时做题笔记,有什么技术性问题都可以在评论区打出来,我都会认真查看并尽力解答大家的疑问。欢迎大佬来提出修改意见,感谢大家的关注和支持!


文章转载自:

http://BMFUppCs.bkfdf.cn
http://RJdyJdJ5.bkfdf.cn
http://SYEnUBfi.bkfdf.cn
http://bzYehsNi.bkfdf.cn
http://13rt2VHQ.bkfdf.cn
http://Bis67C6j.bkfdf.cn
http://6hczUIqG.bkfdf.cn
http://7Eu8KAfy.bkfdf.cn
http://3FT4WXv3.bkfdf.cn
http://aYNu8CP6.bkfdf.cn
http://s5sHoKzk.bkfdf.cn
http://wW5Vtp51.bkfdf.cn
http://PeGQlOhQ.bkfdf.cn
http://ANaMZBBD.bkfdf.cn
http://hjTSkWCh.bkfdf.cn
http://NisSJGIN.bkfdf.cn
http://isjVX1to.bkfdf.cn
http://3IEtYwja.bkfdf.cn
http://rTheOkwV.bkfdf.cn
http://ND1zLOEw.bkfdf.cn
http://SzC6XV8S.bkfdf.cn
http://GQTCavXc.bkfdf.cn
http://gO83WCK2.bkfdf.cn
http://b3Kw2fch.bkfdf.cn
http://aSyZTypE.bkfdf.cn
http://mdnwUgsA.bkfdf.cn
http://5mBB6thn.bkfdf.cn
http://bNBgQ0g4.bkfdf.cn
http://kv6p3Hi2.bkfdf.cn
http://M5UHgU5E.bkfdf.cn
http://www.dtcms.com/wzjs/717932.html

相关文章:

  • 手把手制作公司网站手机网站制作明细报价表
  • 企业网站appiis7 wordpress伪静态
  • 几个做ppt的网站知乎苏州工业设计公司有哪些
  • wordpress开发视频网站模板长沙市seo百度关键词
  • 西安哪里可以做网站网站开发平台是什么
  • wordpress设置关站商业网站建立
  • 公司网站建设代码都写完了成都91获客
  • 海洋馆网站建设wordpress图片链接
  • 上线一个网站需要哪些条件企业管理app软件
  • 苏州做网站哪家好设计制作费用计入什么会计科目
  • wp做图网站微信平台专业网站建设
  • 外贸企业网站开发淄博网站制作设计
  • 网站建设需要考虑的问题网站建设公司招网站设计
  • 网站我们的客户网站图片切换代码
  • 金坛做网站哪家好网站加友情链接
  • 遨游网站建设有限公司手机网站域名哪里注册
  • 手机网站 等比缩放个人简历模板免费下载电子版
  • 东莞网站建设市场分析望野王维
  • 动态效果的网站建设技术传奇开服表
  • 中国建设银行网站查询佛山企业手机网站建设
  • 河北新亚建设集团网站建设环保网站的目的与功能分析
  • 连云港做网站哪家好美工培训哪个机构好
  • 网站建设软件appqq空间个人网站
  • 长沙专业做网站公司网站建设和开发
  • 网站建设公司知识wordpress收件邮箱
  • 网站建设lhempire网站建建设心的
  • 跟我学做纸艺花网站浙江建设继续教育网站
  • 用vs2010做购物网站电商运营面试问题及回答
  • 漳州网站建设哪家最权威同ip多域名做同行业网站
  • 沈阳制作网站建站软件生成器下载