原题链接传送门
DescriptionDescriptionDescription

在你的帮助下,Oliver终于追到小X了,可有一天,坏人把小X抓走了。这正是Oliver英雄救美的时候。所以,Oliver又找到哆啦A梦,借了一个机器,机器显示出一幅方格地图,它告诉Oliver哪里能走,哪里不能走,。并且Oliver在这个地图的右下角,而小X在左上角。时间紧急,Oliver想知道,最少要走多少个格子,才能找到小X。(只能直走)。

InputInputInput

共N+1行,第一行为N,以下N行N列0-1矩阵,1表示不能通过,0表示可以通过(左上角和右下角为0). N<30.

OutputOutputOutput

共一个数,为最少的走的格子数.

SampleInputSample InputSampleInput

5
0 1 1 1 1
0 0 1 1 1
1 0 0 0 1
1 1 1 0 1
1 1 1 0 0

SampleOutputSample OutputSampleOutput

9
———————————————————————————————————————————————

这题。。。

不就是电子老鼠闯迷宫吗!


然后copy提交,恭喜WA。
检查到死检查不出来。
发现老师数据放错了QAQ。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[1010][1010],fa[1000010],st[1000010][5];
int dx[4]={-1,1,0,0};
int dy[4]={0,0,-1,1};
int n,y1,y2,x1,x2;
int check(int x,int y)
{if(x>0&&x<=n&&y>0&&y<=n){if(a[x][y]==0)return true;}return false;
}
void bfs()
{int head=0,tail=1;st[1][1]=x1,st[1][2]=y1,st[1][3]=0;fa[1]=0,a[n][n]=1;while(head<=tail){head++;for(int i=0; i<4; i++){if(check(st[head][1]+dx[i],st[head][2]+dy[i])==1){tail++;fa[tail]=head;st[tail][1]=st[head][1]+dx[i];st[tail][2]=st[head][2]+dy[i];st[tail][3]=st[head][3]+1;a[st[tail][1]][st[tail][2]]=1;if(st[tail][1]==x2&&st[tail][2]==y2){cout<<st[tail][3];return;} }}}
}
int main()
{scanf("%d",&n);for(int i=1; i<=n; i++)for(int j=1; j<=n; j++)scanf("%1d",&a[i][j]);cin>>x1>>y1>>x2>>y2;bfs();return 0;
}

Oliver的救援【BFS】相关推荐

  1. 【SSL_P2278】 Oliver的救援

    Oliver的救援 题目链接:Oliver的救援 题目描述 在你的帮助下,Oliver终于追到小X了,可有一天,坏人把小X抓走了.这正是Oliver英雄救美的时候.所以,Oliver又找到哆啦A梦,借 ...

  2. Oliver的救援pascal程序

    这题有点像电子老鼠闯迷宫,也是用广搜来做的 我是用字符来输入的 const dx:array[1..4]of longint=(1,-1,0,0); dy:array[1..4]of longint= ...

  3. SSL P2325 最小转弯

    题目:http://blog.csdn.net/qq_35786326/article/details/78836913 题意:  求在一个矩阵中的最短路径方案中的转弯次数. 分析:   原身:Oli ...

  4. 某新商盟登录,js逆向:★★

    前言 可以关注我哟,一起学习,主页有更多练习例子 如果哪个练习我没有写清楚,可以留言我会补充 如果有加密的网站可以留言发给我,一起学习共享学习路程 4.如侵权,联系我,删 勉强给个两星 网址信息 网址 ...

  5. C++ 算法篇 广度(宽度)优先搜索(BFS)

    广度优先遍历 广度优先遍历(Breadth_First_Search),又称为广度优先搜索,简称BFS. 图的BFS类似于树的层序遍历. 广度优先遍历 如图将左边的图变形,得到右边的图,然后一层一层的 ...

  6. hrbust 哈理工oj 1989 营救小组【BFS】

    营救小组 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 181(39 users) Total Accepted: 46(35 use ...

  7. 宽度优先搜索算法(BFS)详解(超级详细讲解,附有大图)

    目录 一.宽度优先搜索(BFS)是什么? 二.图解宽搜(BFS) 三.对比与发现 四.工具--队列 五.模板 六.最后 一.宽度优先搜索(BFS)是什么? 百度百科这样说: 宽度优先搜索算法(又称广度 ...

  8. UPC-1521 救援行动【搜索】

    题目描述 Angel被人抓住关在一个迷宫了!迷宫的长.宽均不超过200,迷宫中有不可以越过的墙以及监狱的看守.Angel的朋友带了一个救援队来到了迷宫中.他们的任务是:接近Angel.我们假设接近An ...

  9. 【BFS三维路径规划】基于matlab广度优先搜索算法无人机三维路径规划【含Matlab源码 270期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab广度优先搜索算法无人机 ...

  10. [YTU](3273)吃鸡之团队合作 ---- BFS

    Description 暑假就要开始啦!小伙伴们又可以肆无忌惮的开黑吃鸡了喵!我们知道开黑吃鸡最重要的当然是团队合作了.在一个地图中,一个小队的玩家之间的距离不能太远,这样当队友遇到危险被击倒时才能保 ...

最新文章

  1. iis7 php安装教程,iis7 php安装方法详解
  2. Gym 101964 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)
  3. 计算机系统结构总概,计算机系统结构概论
  4. Nginx 网站定义自己的错误页面
  5. Express中use挂载中间件的方法
  6. java 文件的编码 问题
  7. S3C2440 lds链接脚本解析
  8. ifix虚拟服务器,ifix的客户端和服务器
  9. 【AI视野·今日CV 计算机视觉论文速览 第196篇】Wed, 12 May 2021
  10. Java面试题:Java设计模式11道常见面试题
  11. HTML:H5新增表单type属性
  12. vue点击按钮打开下拉菜单_vue 点击弹出下拉菜单 点击其他页面收回菜单
  13. OpenCV交叉编译ARM版本
  14. 程序员做自媒体变现,可以选择的平台有哪些?各自的特点是什么?
  15. Cisco 路由器作业1.1 路由器初始化配置
  16. 在Markdown中插入图片及图注的方法
  17. 近六成女受访者赞成“中国男配不上中国女”
  18. mac打开桌面与屏幕保护程序卡死(解决方案)
  19. 互联网创业如何起步(一)
  20. 伯克利BLAM纯激光SLAM

热门文章

  1. Confluence 更改数据库地址
  2. stm32摄像头调试 | 串口传输照片数据 | 用python来设计上位机通信软件
  3. 转载 java基础题(面试必知)
  4. #import msxml3.dll 导致 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  5. 【Task02】Pandas之基础
  6. 打砖块JAVA_运用java开发打砖块游戏
  7. 中国药科大学校长来茂德:我眼中“医疗+AI”的机会与挑战
  8. 网络转载的小波框架总结
  9. Android 白天黑夜模式切换换肤
  10. python当中的列表函数和列表推导式