当前位置: 首页 > 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.pierceye.com/news/196248/

相关文章:

  • 网站优化软件排行榜八年级微机网站怎么做
  • 织梦网站漏洞cms网站开发流程
  • 网站开发规划书怎么写企业cms开源
  • html网站免费下载海珠区建网站
  • 石家庄住房城乡建设厅网站宿迁网站建设推广公司
  • 广州模板网站建设费用2024新闻热点摘抄
  • 河北秦皇岛建设局网站做网站简单的软件
  • 上海网站开发外包公司最新新闻热点事件短篇
  • wordpress实现网站勋章功能网站建设需要什么资质
  • 河北沙河市建设局网站威海好的网站建设公司
  • 网站建设怎么放到云空间上海企业网站模板
  • 设计和建设企业网站心得和体会wordpress和新浪微博同步
  • 网站底部横条导航代码制造业erp系统软件有哪些
  • 网站建设公司antnw企业营销型网站制作
  • 接口网站开发wordpress安装网站无法
  • 九九9九九9视频在线观看优化网站结构一般包括
  • 网站缺点国外网站素材
  • 网站域名到期如何续费淘宝客绑定网站备案号
  • 什么是自建站常州 网站制作
  • 网站开发基础培训网站做推广有用吗
  • 音乐网站开发模板网页设计师用什么软件
  • 烟台优化网站重庆酉阳网站设计公司
  • 网站维护工作太原公司网站建设
  • 个性化网站建设报价案例查询网站
  • 淘宝网站框架项目管理软件下载
  • 网站建设课程内容如何优化关键词
  • 龙口网站建设公司电子商务网站建设 课件
  • 权威做网站的公司网站织梦程序改成wordpress
  • 用cms建网站容易吗平面设计网课平台哪个好
  • 网站设计怎么做好什么视频直播网站做挣钱