Oliver的救援(bfs)
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)相关推荐
- 【SSL_P2278】 Oliver的救援
Oliver的救援 题目链接:Oliver的救援 题目描述 在你的帮助下,Oliver终于追到小X了,可有一天,坏人把小X抓走了.这正是Oliver英雄救美的时候.所以,Oliver又找到哆啦A梦,借 ...
- Oliver的救援pascal程序
这题有点像电子老鼠闯迷宫,也是用广搜来做的 我是用字符来输入的 const dx:array[1..4]of longint=(1,-1,0,0); dy:array[1..4]of longint= ...
- SSL P2325 最小转弯
题目:http://blog.csdn.net/qq_35786326/article/details/78836913 题意: 求在一个矩阵中的最短路径方案中的转弯次数. 分析: 原身:Oli ...
- 某新商盟登录,js逆向:★★
前言 可以关注我哟,一起学习,主页有更多练习例子 如果哪个练习我没有写清楚,可以留言我会补充 如果有加密的网站可以留言发给我,一起学习共享学习路程 4.如侵权,联系我,删 勉强给个两星 网址信息 网址 ...
- C++ 算法篇 广度(宽度)优先搜索(BFS)
广度优先遍历 广度优先遍历(Breadth_First_Search),又称为广度优先搜索,简称BFS. 图的BFS类似于树的层序遍历. 广度优先遍历 如图将左边的图变形,得到右边的图,然后一层一层的 ...
- hrbust 哈理工oj 1989 营救小组【BFS】
营救小组 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 181(39 users) Total Accepted: 46(35 use ...
- 宽度优先搜索算法(BFS)详解(超级详细讲解,附有大图)
目录 一.宽度优先搜索(BFS)是什么? 二.图解宽搜(BFS) 三.对比与发现 四.工具--队列 五.模板 六.最后 一.宽度优先搜索(BFS)是什么? 百度百科这样说: 宽度优先搜索算法(又称广度 ...
- UPC-1521 救援行动【搜索】
题目描述 Angel被人抓住关在一个迷宫了!迷宫的长.宽均不超过200,迷宫中有不可以越过的墙以及监狱的看守.Angel的朋友带了一个救援队来到了迷宫中.他们的任务是:接近Angel.我们假设接近An ...
- 【BFS三维路径规划】基于matlab广度优先搜索算法无人机三维路径规划【含Matlab源码 270期】
一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab广度优先搜索算法无人机 ...
- [YTU](3273)吃鸡之团队合作 ---- BFS
Description 暑假就要开始啦!小伙伴们又可以肆无忌惮的开黑吃鸡了喵!我们知道开黑吃鸡最重要的当然是团队合作了.在一个地图中,一个小队的玩家之间的距离不能太远,这样当队友遇到危险被击倒时才能保 ...
最新文章
- 异步请求之XMLHttpRequest篇
- 牛客网SQL篇刷题篇(1-2)
- ARP病毒***症状
- C# winform窗体实现图片轮播
- 通信基站能耗综合管理系统
- node配置微信小程序解密消息以及推送消息
- 尊重版权,遵守开源协议,才是自主掌控之道
- JavaScript基础小节——手写重点整理02
- Weakly-Supervised Salient Object Detection via Scribble Annotations
- [审核]App Store审核指南
- php后门工具_教你识别简单的免查杀PHP后门
- mencoder和ffmpeg参数详解 (Java处理视频)
- matlab 2016a
- 2021年ECNU计科考研复试机试 C. 子序列 (尺取)
- SALOME源码分析:GUI模块
- Unity 物体自发光
- Jenkins从svn获取代码报”E170001“异常问题解决
- 学计算机的普遍字写得都不好,国人普遍写不好汉字的原因探析
- 《解题报告》(第19讲) 进制转换(一) - 入门
- Vue项目 .env .env.development .env.production 配置说明