Oliver的救援

*Description

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

Input

共N+2行,第一行为N,以下N行N列0-1矩阵,1表示不能通过,0表示可以通过(左上角和右下角为0). N<1000.
第N+2行,x,y,x1,y1;
Output

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

Sample Input

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
5 5 1 1

Sample Output

9
**分析:模板题,我就不说了!!哈哈 **

code:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 1000;
const int dx[5]={0,0,-1,0,1};
const int dy[5]={0,-1,0,1,0};
int a[N+1][N+1];
int fa[N*N+1];
int st[N*N+1][4];
int px,py,qx,qy,n,last;
void bfs()
{int head=0,tail=1;st[1][1]=px; st[1][2]=py; //初始化do{head++;for(int k=1;k<=4;k++)  //当前节点向四个方向扩展{int nx=st[head][1]+dx[k],ny=st[head][2]+dy[k];if(nx>=1&&nx<=n&&ny>=1&&ny<=n&&a[nx][ny]==0)  //判断条件{//入队tail++;st[tail][1]=nx;st[tail][2]=ny;st[tail][3]=st[head][3]+1;a[nx][ny]=1;if(st[tail][1]==qx&&st[tail][2]==qy){cout<<st[tail][3]<<endl;return ;}}}}while(head<tail);
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){char b;cin>>b;a[i][j]=b-'0';   (注意:这题输入是用字符输入!~~因此害我检查了二十分钟,巨坑 ~~ ) o(╥﹏╥)o  }scanf("%d%d%d%d",&px,&py,&qx,&qy);a[px][py]=1;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. 异步请求之XMLHttpRequest篇
  2. 牛客网SQL篇刷题篇(1-2)
  3. ARP病毒***症状
  4. C# winform窗体实现图片轮播
  5. 通信基站能耗综合管理系统
  6. node配置微信小程序解密消息以及推送消息
  7. 尊重版权,遵守开源协议,才是自主掌控之道
  8. JavaScript基础小节——手写重点整理02
  9. Weakly-Supervised Salient Object Detection via Scribble Annotations
  10. [审核]App Store审核指南
  11. php后门工具_教你识别简单的免查杀PHP后门
  12. mencoder和ffmpeg参数详解 (Java处理视频)
  13. matlab 2016a
  14. 2021年ECNU计科考研复试机试 C. 子序列 (尺取)
  15. SALOME源码分析:GUI模块
  16. Unity 物体自发光
  17. Jenkins从svn获取代码报”E170001“异常问题解决
  18. 学计算机的普遍字写得都不好,国人普遍写不好汉字的原因探析
  19. 《解题报告》(第19讲) 进制转换(一) - 入门
  20. Vue项目 .env .env.development .env.production 配置说明

热门文章

  1. Android 10 添加第三方输入法为系统默认输入法
  2. 京东手机评论分析(二):关键词提取
  3. RT5350配置uboot 支持8M的Flash
  4. 处理器后面的字母什么意思?看了全搞懂
  5. 掌财社寒山:俄罗斯银行将在年底前推出数字卢布原型
  6. 基于Python制作实现的推箱子小游戏
  7. 单片机c语言计算器,基于STC89C52单片机的计算器的设计.doc
  8. 《算法导论》:跳跃表(Skip List)
  9. 【python】jiaba分词,停用词分享,stopwords
  10. 几何算法合集(3D)