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

没有备案的网站怎么挂广告建站系统多少钱

没有备案的网站怎么挂广告,建站系统多少钱,江阴做公司网站有哪些,百度seo泛解析代发排名地牢大师问题 文章目录 地牢大师问题前言题目描述题目分析输入处理移动方式【和二维的对比】边界判断问题的解决 代码总结 前言 在之前的博客里面#xff0c;我们介绍了bfs 基础算法的模版和应用,这里我们再挑战一下自己#xff0c;尝试一个更高水平的题目#xff0c;加深一…地牢大师问题 文章目录 地牢大师问题前言题目描述题目分析输入处理移动方式【和二维的对比】边界判断问题的解决 代码总结 前言 在之前的博客里面我们介绍了bfs 基础算法的模版和应用,这里我们再挑战一下自己尝试一个更高水平的题目加深一下对bfs算法的理解。如果对bfs更多知识感兴趣的话可以点个关注后续会继续更新有关知识点的。 往期的文章如下 红与黑问题bfsdfs 解法 题目描述 你现在被困在一个三维地牢中需要找到最快脱离的出路 地牢由若干个单位立方体组成其中部分不含岩石障碍可以直接通过部分包含岩石障碍无法通过。 向北向南向东向西向上或向下移动一个单元距离均需要一分钟。 你不能沿对角线移动迷宫边界都是坚硬的岩石你不能走出边界范围。 请问你有可能逃脱吗 如果可以需要多长时间 输入格式 输入包含多组测试数据。 每组数据第一行包含三个整数 L,R,C 分别表示地牢层数以及每一层地牢的行数和列数。 接下来是 L 个 R 行 C 列的字符矩阵用来表示每一层地牢的具体状况。 每个字符用来描述一个地牢单元的具体状况。 其中, 充满岩石障碍的单元格用”#”表示不含障碍的空单元格用”.”表示你的起始位置用”S”表示终点用”E”表示。 每一个字符矩阵后面都会包含一个空行。 当输入一行为”0 0 0”时表示输入终止。 输出格式 每组数据输出一个结果每个结果占一行。 如果能够逃脱地牢则输出”Escaped in x minute(s).”其中X为逃脱所需最短时间。 如果不能逃脱地牢则输出”Trapped!”。 数据范围 1≤L,R,C≤100 输入样例 3 4 5 S.... .###. .##.. ###.###### ##### ##.## ##...##### ##### #.### ####E1 3 3 S## #E# ###0 0 0输出样例 Escaped in 11 minute(s). Trapped!题目分析 输入处理 可能有的小伙伴是 按照z , x , y 的顺序输入的其实大可不必这里的z , x , y 是对称的也就是说我们对于 z , x , y 三个方向都没有特定的要求可以随意选取那么我们只要照常输入就行相当于交换了坐标系 移动方式【和二维的对比】 看图在算法坐标系中二维一般是这样的 3维看图 因为每次移动一个长度单位所以我们在这里是以1为计量单位表示方向。 边界判断问题的解决 接触过bfs算法题目的小伙伴肯定会对边界判断感到不耐烦这里教大家一个方法摆脱边界判断 首先将整个地图全部设成#障碍状态这样后面就不会走到外面去【关键步骤】 memset(g,#,sizeof g);其次输入的时候从 1 开始这里可以避免边界问题假设我们的输入从 0 开始那么就会出现 -1 的意外状况 for(int i1;il;i){for(int j1;jr;j){for(int k1;kc;k){cing[i][j][k];if(g[i][j][k]S){sxi,syj,szk;}if(g[i][j][k]E){exi,eyj,ezk;}}}}最后封死所有走过的路 假设我们不封堵我们能够走回走过的点就说明一定有个环这就无解了其次 封过走过的路之后吗得到的一定就是最小值 一般bfs的处理方法会用一个s t [N]的数组记录是否走过这里相当于将我们的地图数组一箭双雕。 代码 解释都在代码注释当中啦 #includeiostream #includealgorithm #includecstring #includequeue using namespace std; const int N 107;char g[N][N][N];//用于存储地图数据 int d[N][N][N];//用于记录步数 int dx[6]{1,0,-1,0,0,0}; int dy[6]{0,1,0,-1,0,0}; int dz[6]{0,0,0,0,1,-1}; int l,r,c; struct node{int x,y,z;//这里需要对bfs引入 3 哥数据也就是遍历的队列要包含 3 哥元素//所以我们用结构体存储 }; int bfs(int sx,int sy,int sz){g[sx][sy][sz]#;*//将走过的路封死d[sx][sy][sz]0;//将开始的起点举例设为 0 queuenode q;q.push({sx,sy,sz});while(!q.empty()){auto tq.front();q.pop();for(int i0;i6;i){// coutdx[i] dy[i] dz[i]endl;int at.xdx[i];int bt.ydy[i];int ct.zdz[i];// coutabcendl;// couta b cendl;if(g[a][b][c]!#){//直接判断是否为障碍就行//不需要俺么劳心费神的操作// coutg[a][b][c]endl;if(g[a][b][c].){q.push({a,b,c});g[a][b][c]#;d[a][b][c]d[t.x][t.y][t.z]1;// couta b cendl;// puts();}if(g[a][b][c]E){return d[t.x][t.y][t.z]1;}}}}return -1; } int main(){while(cinlrc,l||r||c){memset(g,#,sizeof g);//由于要输入多个数据memset(d,-1,sizeof d);//每次要将数据清零int sx,sy,sz;int ex,ey,ez;for(int i1;il;i){for(int j1;jr;j){for(int k1;kc;k){cing[i][j][k];if(g[i][j][k]S){sxi,syj,szk;//找到最开始的点}if(g[i][j][k]E){exi,eyj,ezk;//找到结束的点后来发现这步操作没有用}}}}int tbfs(sx,sy,sz);if(t-1) printf(Trapped!);else printf(Escaped in %d minute(s).,t);puts();}return 0; }总结 以上就是地牢大师的解法喜欢的小伙伴可以点个赞啦 记住免去边界处理的关键在于将整个地图数组障碍化起始的输入也是从 1 开始最大程度上面减小边界处理步骤。
http://www.sadfv.cn/news/208617/

相关文章:

  • 南沙定制型网站建设长沙网页制作企业
  • 给网站做蜘蛛抓取淘宝网站可以做百度快照吗
  • 可以在线做动图的网站图片设计用什么软件
  • 台州做网站的电话机械加工网18易3下7拉nrj
  • 宜昌网站制作公司网站做sem推广时要注意什么
  • 赤峰网站建设哪家好恩施市建设银行网站
  • 网站软件有哪些东莞前10大互联网公司
  • 仪征市企业网站建设公司福州seo服务商
  • dede仿手机网站模板网页制作的基本知识
  • 建筑公司网站网站农村致富小型加工厂
  • 个人备案的网站能做盈利吗帮别人做网站被抓
  • 网站管理员密码什么专业可以做网站编辑
  • 网站超链接用什么做网站信科网站建设
  • 深圳网页搜索排名提升宁波seo咨询
  • 做地方网站能赚钱吗鹿班设计网站官网
  • 商业网站在规划与设计时应着重考虑哪些因素网络营销成功案例介绍
  • 网站建设公司行业描述visual studio制作网站开发
  • 盐城有没有做网站吗wordpress无插件对接公众号
  • 网站建设网店名字搭建网页的基础语言
  • 广州网站建设骏域环保地板汉中市建设局网站
  • 广州网站设计公司兴田德润在那里网站建设哪家好万维科技
  • 小语种网站降低生育
  • 网站建设偶像密云seo排名优化培训
  • 深圳好的网站建设公司购物便宜的网站有哪些
  • 建设门户网站请示企业网站开发需求分析模板
  • 欧美一级a做爰片免费网站wordpress3.9.1下载
  • 网站备案信息被删除为网站添加isapi扩展
  • 网站开发 jz.woonl做网站要的图片斗鱼
  • 做网站的优势wordpress动态图片
  • 如何做网站建设企业信息系统规划的含义及任务