当前位置: 首页 > news >正文

贵阳市住房和城乡建设局政务网站没人注意的暴利行业

贵阳市住房和城乡建设局政务网站,没人注意的暴利行业,中国建设质量协会网站,焦作网站建设公司哪家好我们来玩一个迷宫游戏#xff0c;尝试走一下面的迷宫。 迷宫游戏 我们用一个二维的字符数组来表示前面画出的迷宫#xff1a; S**. .... ***T 其中字符S表示起点#xff0c;字符T表示终点#xff0c;字符*表示墙壁#xff0c;字符.表示平地。你需要从S出发走到T#xf…我们来玩一个迷宫游戏尝试走一下面的迷宫。 迷宫游戏 我们用一个二维的字符数组来表示前面画出的迷宫 S**. .... ***T 其中字符S表示起点字符T表示终点字符*表示墙壁字符.表示平地。你需要从S出发走到T每次只能向上下左右相邻的位置移动不能走出地图也不能穿过墙壁每个点只能通过一次。你需要编程来求解出一种从起点到终点的走法。 很明显当我们从任意格子出发都有可能往四个方向走上下左右。而初始的时候我们是在起点S处之后开始进行我们的搜索过程也就是我们要讲的 DFS 算法。 那么当我们搜索到了某一个格子也就是我们下一步会从该格子出发的时候 1.首先要判断一下当前格子是否就是终点如果是那么就表示我们已经成功的从起点S移动了若干步之后到达了终点T便成功地完成了这个问题。 2.否则我们就需要从该格子出发可以分别枚举向左、向下、向右、向上四个方向依次去判断它旁边的四个点是否可以作为下一步合法的目标点如果可以那么我们就进行这一步走到目标点然后继续进行操作。 3.当然有可能左、下、右、上四个点都无法再成为合法的目标点了那么我们就回退一步然后从上一步所在的那个格子向其他 未尝试的方向 继续枚举。 关于合法的定义如下 必须在所给定的迷宫范围内。 如样例中是一个 4 行 3 列的迷宫那么这个点必须在 (0,0)−(3,2) 的范围中才能称为合法否则即为不合法。 这个点在搜索过程中必须没有被访问过。 也就是说一个点在 DFS 的过程中只能被访问一次不能重复访问。这样做是因为如果一个点允许多次访问那么肯定会出现死循环的情况——在两个点中间来回走。不过根据题意在某些情况下你回溯了之后可以视回溯前的点为没有访问过。 这个点必须不是墙壁。这个显然很好理解我们只能走在平地上不能走在墙壁上也不能穿过墙壁。 DFS 走迷宫对应的伪代码框架如下 // 对坐标为 (x, y) 的点进行搜索 bool dfs(int x, int y) {if (x, y) 是终点 {// 找到了路径return true;}// 标记 (x, y) 已经访问// 向上走到位置 (tx, ty)if (tx, ty) 合法 {if (dfs(tx, ty) true) {// 递归调用 DFS 函数将(tx, ty)作为当前状态进行搜索下同。return true;}}// 向左走到位置 (tx, ty)if (tx, ty) /* 合法 */ {if (dfs(tx, ty) true) {return true;}}// 向下走到位置 (tx, ty)if (tx, ty) /* 合法 */ {if (dfs(tx, ty) true) {return true;}}// 向右走到位置 (tx, ty)if (tx, ty) /* 合法 */ {if (dfs(tx, ty) true) {return true;}}return false; } 迷宫搜索2(输出路径 #include iostream #include string using namespace std; int n, m; string maze[110]; int sx, sy; bool vis[110][110]; int dir[4][2] {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; bool in(int x, int y) {return 0 x x n 0 y y m; } bool dfs(int x, int y) {vis[x][y] true;if (maze[x][y] T) {return true;}maze[x][y] m;for (int i 0; i 4; i) {int tx x dir[i][0];int ty y dir[i][1];if (in(tx, ty) !vis[tx][ty] maze[tx][ty] ! *) {if (dfs(tx, ty)) {return true;}}}maze[x][y] .;return false; } int main() {cin n m;for (int i 0; i n; i) {cin maze[i];}for (int i 0; i n; i) {for (int j 0; j m; j) {if (maze[i][j] S) {sx i;sy j;}}}if (dfs(sx, sy)) {cout Yes endl;} else {cout No endl;}for(int i 0; i n; i){cout maze[i] endl;}return 0; }
http://www.zqtcl.cn/news/196248/

相关文章:

  • 怎么做网站排名优化免费jq网站模板
  • 源码时代培训机构官网自己建网站怎么做seo
  • 宜都网站制作济南比较大的网站制作公司
  • 怎么用电脑做网站主机假网站怎么制作
  • 网站 微信网络营销方案设计心得
  • 淘宝客 wordpress网站wordpress类似的工具
  • 农村建设房子建设网站建设渭南房产网站制作
  • php网站开发用什么win2008 iis 新建网站
  • 中山营销网站建设杭州网站建设开发有限公司
  • 被他人备案后做违法网站抖音seo推广
  • 手机网站广告代码南靖县建设局网站
  • 郑州网站建设智巢高德地图有外资背景吗
  • 网站开发常遇到客户问题wordpress怎么升级
  • 网站的空间是网站 建设 维护 公司
  • 关于网站建设的书籍网站设计的趋势
  • 临漳+网站建设深圳国贸网站建设
  • 安全的南昌网站制作上海网站建设网
  • 360网站制作潍坊医疗网站建设方案
  • 深圳网站策划公司域名解析暂时失败
  • 怎么做安居客网站wordpress 函数文件
  • 微名片网站怎么做html代码表示
  • 两学一做纪实评价系统网站如何做好百度推广
  • 网站设置手机才能播放企业网站开发需求
  • 网站建设微信运营销售做网站用啥语言
  • dw建设网站步骤活动汪活动策划网站
  • 民和县公司网站建设网站开发的特点
  • 模板企业快速建站上传网站中ftp地址写什么
  • 云南本地企业做网站太原网站制作公司哪家好
  • 西部数码域名网站模板wordpress抓取股票行情
  • 丰台深圳网站建设公司关于服装店网站建设的策划方案