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

网站建设 阿里榆中建设投资有限公司网站

网站建设 阿里,榆中建设投资有限公司网站,公司建立网站用于业务,创世网站我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页 往 {\color{Red} {\Huge 往} } 往 期 {\color{Green} {\Huge 期} } 期 文 {\color{Blue} {\Huge 文} } 文 章 {\color{Orange} {\Huge 章}} 章 DFS 算法:记忆化搜索DFS 算法&#xf…

在这里插入图片描述

我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页

往 {\color{Red} {\Huge 往} } 期 {\color{Green} {\Huge 期} } 文 {\color{Blue} {\Huge 文} } 章 {\color{Orange} {\Huge 章}}

  • DFS 算法:记忆化搜索
  • DFS 算法:全排列问题

此系列更新频繁,求各位读者点赞
关注我可以了解更多内容哦
偷偷告诉你,我正在冲 1100 粉 {\color{Gray} {\small 偷偷告诉你,我正在冲1100粉} } 偷偷告诉你,我正在冲1100
你们有什么想了解的可以发在评论区,我会仔细的看 {\color{Gray} {\small 你们有什么想了解的可以发在评论区,我会仔细的看} } 你们有什么想了解的可以发在评论区,我会仔细的看
1100 粉时我会抓几个做文章 {\color{Gray} {\small1100粉时我会抓几个做文章} } 1100粉时我会抓几个做文章


目录

  • 今天我们学什么
  • 例题
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 提示
        • 样例解释
        • 数据规模与约定
    • 题解
      • 错误示范
      • 正确代码
  • 总结

今天我们学什么

今天我们不学什么,就是做一道二维DFS的题目

例题

我们选用了洛谷题目:B3625 迷宫寻路

题目描述

机器猫被困在一个矩形迷宫里。

迷宫可以视为一个 n × m n\times m n×m 矩阵,每个位置要么是空地,要么是墙。机器猫只能从一个空地走到其上、下、左、右的空地。

机器猫初始时位于 ( 1 , 1 ) (1, 1) (1,1) 的位置,问能否走到 ( n , m ) (n, m) (n,m) 位置。

输入格式

第一行,两个正整数 n , m n,m n,m

接下来 n n n 行,输入这个迷宫。每行输入一个长为 m m m 的字符串,# 表示墙,. 表示空地。

输出格式

仅一行,一个字符串。如果机器猫能走到 ( n , m ) (n, m) (n,m),则输出 Yes;否则输出 No

样例 #1

样例输入 #1

3 5
.##.#
.#...
...#.

样例输出 #1

Yes

提示

样例解释

路线如下: ( 1 , 1 ) → ( 2 , 1 ) → ( 3 , 1 ) → ( 3 , 2 ) → ( 3 , 3 ) → ( 2 , 3 ) → ( 2 , 4 ) → ( 2 , 5 ) → ( 3 , 5 ) (1,1)\to (2,1) \to (3,1) \to (3,2)\to (3,3) \to (2, 3) \to (2, 4) \to (2, 5) \to (3, 5) (1,1)(2,1)(3,1)(3,2)(3,3)(2,3)(2,4)(2,5)(3,5)

数据规模与约定

对于 100 % 100\% 100% 的数据,保证 1 ≤ n , m ≤ 100 1 \leq n, m \leq 100 1n,m100,且 ( 1 , 1 ) (1,1) (1,1) ( n , m ) (n, m) (n,m) 均为空地。


在这里插入图片描述


题解

错误示范

我们第一时间可以想到,这是一道简单的二维DFS题目,随便一些就能AC,这大概是你想到的代码:

#include <bits/stdc++.h>
using namespace std;
char a[105][105];
int dx[]={0,0,-1,1};
int dy[]={-1,1,0,0};
int n,m;
bool vis[105][105];
void dfs(int x,int y)
{if(x<1 || x>n || y<1 || y>m || a[x][y]=='#'){return; }if(x==n && y==m){cout<<"Yes";exit(0);}for(int i=0; i<=3; i++){int tx=x+dx[i];int ty=y+dy[i];if(!vis[tx][ty]){vis[tx][ty]=1;dfs(tx,ty);vis[tx][ty]=0;}}
}int main()
{cin>>n>>m;for(int i=1; i<=n ;i++){string s;cin>>s;for(int j=0; j<m; j++){a[i][j+1]=s[j];}}dfs(1,1);cout<<"No";return 0;
}

但是这样你只能得到10分
在这里插入图片描述

此时,我们可以想一想,你为什么需要回溯呢?
删除vis[tx][ty]=0;即可AC

正确代码

为了方便阅读,我直接给出了正确代码(我做人太好了

#include <bits/stdc++.h>
using namespace std;
char a[105][105];
int dx[]={0,0,-1,1};
int dy[]={-1,1,0,0};
int n,m;
bool vis[105][105];
void dfs(int x,int y)
{if(x<1 || x>n || y<1 || y>m || a[x][y]=='#'){return; }if(x==n && y==m){cout<<"Yes";exit(0);}for(int i=0; i<=3; i++){int tx=x+dx[i];int ty=y+dy[i];if(!vis[tx][ty]){vis[tx][ty]=1;dfs(tx,ty);}}
}int main()
{cin>>n>>m;for(int i=1; i<=n ;i++){string s;cin>>s;for(int j=0; j<m; j++){a[i][j+1]=s[j];}}dfs(1,1);cout<<"No";return 0;
}

怎么样,这是不是很简单呢?

总结

做题要思考!!!

http://www.yayakq.cn/news/950413/

相关文章:

  • 天津企业网站建设一般多少钱响应式网站建设看什么书
  • 建设平台型网站多少钱网站改成响应式
  • 网站找人做备案的价格天津 论坛网站制作公司
  • 专业微信网站建设公司首选公司哪家好wordpress 图片 存储
  • 淘宝做女鞋在哪个网站找货群晖做网站服务器 套件
  • 大良营销网站建设讯息千岛湖建设集团办公网站
  • 海外代理服务器 免费海洋seo
  • 网站建设的安全技术科技有限公司官网
  • 精密电子东莞网站建设技术支持公司和公司网站的关系
  • 网站源码下载了属于侵权吗现在什么语言做网站最好
  • 全面的移动网站建设沈阳模板建站系统
  • 漫画网站建设教程视频wordpress网站系统
  • 深圳网站设计推荐刻郑州做网站建设的公司
  • 企业网站设计哪个好广州品牌形象设计
  • 自己搭建服务器网站开发软件单页面网站教程
  • 网站不显示index.html龙华和龙岗哪个繁华
  • 嘉兴做营销型网站设计网站正在建设 英文翻译
  • 郑州seo网站关键词优化偃师网站开发
  • seo网站首页优化排名怎么做蚌埠做网站多少钱
  • 重庆专业网站建设公司城市中国商业管理后台
  • 网易云课堂的网站建设特点新手做电商需要多少钱
  • 网站建设如何苏州网站推广工具
  • 怎么建一个网站卖东西山东省建设教育集团网站
  • 高港区住房和城乡建设局网站网络营销电子版教材
  • 湖南信息网官方网站公司中英文网站
  • 网站备案后 还是需要再备案吗大连高新区规划建设局网站
  • 网站优化要做哪些沧州网站优化公司
  • wordpress设置后台信息天津seo培训机构
  • 旅游做攻略的网站有哪些360竞价推广开户多少钱
  • 来年做哪些网站能致富长沙网站建设外包