Oliver的救援【BFS】
原题链接传送门
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】相关推荐
- 【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 暑假就要开始啦!小伙伴们又可以肆无忌惮的开黑吃鸡了喵!我们知道开黑吃鸡最重要的当然是团队合作了.在一个地图中,一个小队的玩家之间的距离不能太远,这样当队友遇到危险被击倒时才能保 ...
最新文章
- iis7 php安装教程,iis7 php安装方法详解
- Gym 101964 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)
- 计算机系统结构总概,计算机系统结构概论
- Nginx 网站定义自己的错误页面
- Express中use挂载中间件的方法
- java 文件的编码 问题
- S3C2440 lds链接脚本解析
- ifix虚拟服务器,ifix的客户端和服务器
- 【AI视野·今日CV 计算机视觉论文速览 第196篇】Wed, 12 May 2021
- Java面试题:Java设计模式11道常见面试题
- HTML:H5新增表单type属性
- vue点击按钮打开下拉菜单_vue 点击弹出下拉菜单 点击其他页面收回菜单
- OpenCV交叉编译ARM版本
- 程序员做自媒体变现,可以选择的平台有哪些?各自的特点是什么?
- Cisco 路由器作业1.1 路由器初始化配置
- 在Markdown中插入图片及图注的方法
- 近六成女受访者赞成“中国男配不上中国女”
- mac打开桌面与屏幕保护程序卡死(解决方案)
- 互联网创业如何起步(一)
- 伯克利BLAM纯激光SLAM
热门文章
- Confluence 更改数据库地址
- stm32摄像头调试 | 串口传输照片数据 | 用python来设计上位机通信软件
- 转载 java基础题(面试必知)
- #import msxml3.dll 导致 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 【Task02】Pandas之基础
- 打砖块JAVA_运用java开发打砖块游戏
- 中国药科大学校长来茂德:我眼中“医疗+AI”的机会与挑战
- 网络转载的小波框架总结
- Android 白天黑夜模式切换换肤
- python当中的列表函数和列表推导式