题意:

从矩阵上的一个地方走到另一个地方,0表示路通,1表示走不通,求最少步数。

思路:

用广搜,深搜也可以。

代码:

#include<cstdio>
int n,a[1100][1100],state[1111000][3],x,y,px,py,best;
short dx[5]={0,1,0,-1,0},dy[5]={0,0,1,0,-1};
char c;
bool check(int x,int y)
{if (1>x||x>n||1>y||y>n||a[x][y]==1) return false;return true;
}
void bfs()
{int tail,head;state[1][1]=x;state[1][2]=y;state[1][3]=0;tail=1;head=0;do{head++;for (int i=1;i<=4;i++){if(check(state[head][1]+dx[i],state[head][2]+dy[i])){tail++;state[tail][1]=state[head][1]+dx[i];state[tail][2]=state[head][2]+dy[i];state[tail][3]=state[head][3]+1;//state[][1]记录横坐标,state[][2]记录纵坐标,state[][3]记录步数a[state[tail][1]][state[tail][2]]=1;      if (state[tail][1]==px&&state[tail][2]==py){best=tail;return;}       }}}while (head<tail);
}
int main()
{scanf("%d",&n);c=getchar();for (int i=1;i<=n;i++){for (int j=1;j<=n;j++){c=getchar();a[i][j]=c-48;}   c=getchar();}scanf("%d%d%d%d",&x,&y,&px,&py);//分别代表起点坐标和终点坐标bfs();printf("%d",state[best][3]);
}

SSL_2278 Oliver的救援相关推荐

  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. 2022-2028年中国应急救援装备行业市场研究及前瞻分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了应急救援装备行业相关概述.中国应急救援装备行业运行环境.分析了中国应 ...

  6. linux救援模式无法识别分区,Linux操作系统出现严重故障后的救援模式

    1.把系统安装光盘插入,重启机器,启动时迅速按下Del键,进入CMOS,把启动顺序改为光盘先启动,这样就启动了Linux安装程序,按F5,按提示打入Linux rescue回车,进入救援模式,接下来是 ...

  7. 生产指挥调度系统_市安全生产应急救援指挥中心将大型装载机械设备储备信息纳入应急指挥调度系统...

    为拓展应急救援力量体系,发挥社会力量在开展全市重特大突发事件应急救援中的重要作用,近日,市安全生产应急救援指挥中心在加强应急指挥信息平台"一网七库"建设的基础上,成功对接甘肃省非道 ...

  8. 《火星救援VR》原班人马打造全新AR游戏,让可爱小飞龙伴随你左右

    曾开发了<火星救援>的VR团队即将发布AR游戏<Follow Me Dragon>,让可爱小飞龙"融入"真实世界. 开发商The Virtual Reali ...

  9. 破解CentOS的root密码(救援模式无密码)

    开机后,在倒数读秒的时候按任意键.跳转画面后,再按E键,进入如下界面: 此时把光标定位到第二行,再按E键(意为:在启动顺序里编辑这条命令),如下图,此时输入"空格+single" ...

  10. 【救援过程】升级openssl导致libcrypto.so.1.1动态库不可用

    目录 一.故障重现 二.救援过程 一.故障重现 近日为了解决CVE-2021-3449: 拒绝服务漏洞.CVE-2021-3450: 证书校验漏洞,自己编译了openssl-1.1.1k. 亲测发现: ...

最新文章

  1. 2017暑期挖坑计划(持续更新中~)
  2. 数据结构与算法试题集锦
  3. 【Django】模型层说明
  4. matlab中鼠标光标后面的阴影怎么去除,UG在绘图是拖动鼠标出现残影怎么回事?看看这个方法就知道了...
  5. c++ stack 遍历_划重点啦!带你解读图的两种遍历方式
  6. 无法扩展该卷 因为群集的数量将超过文件系统_浏览器将支持Python项目!Mozilla发布Pyodide...
  7. 如何计算虚拟化vcpu_首次公开:腾讯云虚拟化技术原理及可用性提升实践
  8. Python中DataFrame去重
  9. python计算题_Python练习题
  10. linux多播 多个接收方,在同一端口上接收多个多播源 – C,Linux
  11. ICCV 2021 best paper-Swin Transformer:对各类SOTA的降维打击!
  12. 简单易用的拾色器推荐
  13. ggplot2绘制地图
  14. 【数据结构与算法】动态规划
  15. VLC保存网络视频及抓包合成视频
  16. day56 JavaScript
  17. 如何设置计算机硬盘密码,计算机设置硬盘加密方法以启动密码
  18. 代码编辑器语法着色功能实现-Java版
  19. Oracle 表字段的创建、删除、修改、查询
  20. R语言一般线性模型(涉及因变量是虚拟变量(哑变量))

热门文章

  1. python idle解释器的命令提示符是_Python IDLE使用
  2. 关于用ADS设计PA中电容的选择
  3. matlab改变图片尺寸及像素与尺寸的转换
  4. oracle导出自增设置,教程方法;oracle中如何设置自增主键电脑技巧-琪琪词资源网...
  5. msxml3.dll 执行页内操作时的错误
  6. Kent Beck简单设计四条规则
  7. 《早秋客舍》赏析-[唐]杜牧古诗
  8. 汤普森算法_什么是汤普森采样(Thompson sampling)?
  9. Ubuntu / Debian: sudo 出现 unable to resolve host 错误解决办法
  10. 【转】布同:如何循序渐进学习Python语言