题目链接

简单搜索题

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
char c[][];
int n,m;
bool vis[][];
int dx[]={,,-,};
int dy[]={,-,,};
void dfs(int i,int j)
{
if(i<||j<||i==n||j==m||vis[i][j]||c[i][j]=='#') return ;
vis[i][j]=;
for(int k=;k<;k++)
dfs(i+dx[k],j+dy[k]);
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=;i<n;i++)
scanf("%s",c[i]);
memset(vis,,sizeof(vis));
int sx=-,sy,ex,ey;
for(int i=;i<n;i++)
for(int j=;j<m;j=j+(m-))
{
if((c[i][j]=='*')&&(sx==-))
{
sx=i;sy=j;
}
else if(c[i][j]=='*')
{
ex=i;ey=j;
}
}
for(int i=;i<n;i=i+(n-))
for(int j=;j<m;j++)
{
if((c[i][j]=='*')&&(sx==-))
{
sx=i;sy=j;
}
else if(c[i][j]=='*')
{
ex=i;ey=j;
}
}
dfs(sx,sy);
if(vis[ex][ey]) puts("YES");
else puts("NO");
}
return ;
}

NEFU 558 迷宫寻路的更多相关文章

  1. C++ 迷宫寻路问题

    迷宫寻路应该是栈结构的一个非常经典的应用了, 最近看数据结构算法应用时看到了这个问题, 想起来在校求学时参加算法竞赛有遇到过相关问题, 感觉十分亲切, 在此求解并分享过程, 如有疏漏, 欢迎指正 问题 ...

  2. PTA7-1 迷宫寻路 (20分)

    7-1 迷宫寻路 (20分) 给定一个M行N列的迷宫图,其中 "0"表示可通路,"1"表示障碍物,无法通行.在迷宫中只允许在水平或上下四个方向的通路上行走,走过 ...

  3. HTML 迷宫

    今天补个遗,将很久以前研究 HTML5 的时候写的生成迷宫.迷宫寻路程序整理出来. 下载链接在文章最后. 简介 为什么要做这个 HTML5 迷宫程序?因为我喜欢.我愿意.也是向老程序员学习(见第5节) ...

  4. AI-随机迷宫&迷宫求解

    本文记录了,人工智能中简单的搜索策略中的路径搜索策略中的A*算法,来实现迷宫寻路的问题.(这只是一次本人的课外作业) 完整的程序源码已经发送到我的Git.这里只记录了我的思路和感想以及收获. 产生随机 ...

  5. 【转】A*寻路算法 C++实现

    头文件:AStarPathFinding #ifndef ASTARPATHFINDING_H #define ASTARPATHFINDING_H #include <queue>//为 ...

  6. PTA-迷宫寻路(输出最短路径)

    给定一个M行N列的迷宫图,其中 "0"表示可通路,"1"表示障碍物,无法通行.在迷宫中只允许在水平或上下四个方向的通路上行走,走过的位置不能重复走. 5行8列的 ...

  7. 用Java语言编写的迷宫小游戏软件

    可查看本项目的github 源码链接,撒娇打滚求 star 哦~~ღ( ´・ᴗ・ ` )比心 本仓库代码是经过 eclipse 编译运行过的,一般情况下将本仓库代码下载下来之后,使用 eclipse ...

  8. 【小白学游戏常用算法】二、A*启发式搜索算法

    在上一篇博客中,我们一起学习了随机迷宫算法,在本篇博客中,我们将一起了解一下寻路算法中常用的A*算法. 通常情况下,迷宫寻路算法可以使用深度优先或者广度优先算法,但是由于效率的原因,不会直接使用这些算 ...

  9. canvas——路径搜索

    在前一篇博客中随机生成迷宫,现在就以随机生成的迷宫为地图,开始寻找路径. 迷宫寻路也可以使用DFS,BFS,但常见的是A*算法,它是启发式搜索算法的一种,效率相比前两者也更高.接下来以A*算法为例,迷 ...

随机推荐

  1. JS组件系列——Bootstrap 树控件使用经验分享

    前言:很多时候我们在项目中需要用到树,有些树仅仅是展示层级关系,有些树是为了展示和编辑层级关系,还有些树是为了选中项然后其他地方调用选中项.不管怎么样,树控件都是很多项目里面不可或缺的组件之一.今天, ...

  2. MyBatis参数传入集合之foreach用法

    传入集合list // 账户类型包括门店和分公司 List<Object> scopeList = new ArrayList<Object>(); scopeList.add ...

  3. ubuntu/mint 安装google的拼音输入法

    sudo apt-get install fcitx sudo apt-get install fcitx-googlepinyin im-config 即可完成google的输入法 重启计算机.在右 ...

  4. [转]C#反射-Assembly.Load、LoadFrom与LoadFile进阶

    关于.NET中的反射,常用的有三个方法: Assembly.Load()Assembly.LoadFrom()Assembly.LoadFile() 下面说说这三个方法的区别和一些细节问题 1. As ...

  5. excel学习

    制作打钩方格 :输入R ,然后选中R,在字体中选中wingdings 2即可 快速选中一列:选中两行以上,然后Ctrl+Shift+下 分段显示手机号:选中单元格,Ctrl+1,然后选中数字,自定义, ...

  6. Tp-link TL-WR841N无线路由器端口映射到外网如何设置

    针对TP-LINK的无线路由器进行演示如何设置端口映射和访问控制,演示使用的具体型号是TP-LINK TL-WR841N 3G无线路由器如何设置端口映射. 什么是端口映射? 端口映射又称端口转发,有的 ...

  7. .Net 中的反射(反射特性) - Part.3

    反射特性(Attribute) 可能很多人还不了解特性,所以我们先了解一下什么是特性.想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人: // title: 标题:author ...

  8. Matlab中double,im2double,mat2gray区别

    转载:http://blog.sina.com.cn/s/blog_6c41e2f30101559d.html ****************假设某图像数据A(uint8格式)*********** ...

  9. 深入理解redis持久化

    持久化方式: 快照(RDB)方式,默认方式,文件以二进制方式保存到RDB文件. 文件追加(AOF)方式,文件以协议文本的方式write到AOF文件. 作用,重启后的数据恢复.当两种方式都启用时,red ...

  10. 在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题

    今天在写为一些project 写 一些junit  test  的时候,出现下面的异常: java.lang.UnsupportedClassVersionError: moneytest/Money ...