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

wordpress移动端广告seo优化工具

wordpress移动端广告,seo优化工具,培训机构需要什么资质,建设外贸网站费用引言 之前刚学DFS的时候并不完全理解为什么递归可以一直往下做,后来直到了递归的本质是栈,就想着能不能手写栈来代替递归呢。当时刚学,自己觉得水平不够就搁置了这个想法,今天上数据结构老师正好讲了栈的应用,其中就有…

引言

之前刚学DFS的时候并不完全理解为什么递归可以一直往下做,后来直到了递归的本质是栈,就想着能不能手写栈来代替递归呢。当时刚学,自己觉得水平不够就搁置了这个想法,今天上数据结构老师正好讲了栈的应用,其中就有一个走迷宫问题,于是写下这篇文章,希望能帮助大家更好的理解DFS。

B3625 迷宫寻路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

DFS

#include<bits/stdc++.h>
const int N=110;
char g[N][N];
bool st[N][N];
int n,m;
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int flag=0;
void dfs(int x,int y)
{if(flag) return;if(x==n&&y==m){flag=1;return ;}for(int i=0;i<4;i++){int a=x+dx[i];int b=y+dy[i];if(a<1||b<1||a>n||b>m) continue;if(g[a][b]=='#') continue;if(st[a][b]) continue;st[a][b]=true;dfs(a,b);if(flag) return;st[a][b]=false;}return ;
}
signed main()
{std::cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){std::cin>>g[i][j];}}st[1][1]=true;dfs(1,1);if(!flag) std::cout<<"No"<<'\n';else std::cout<<"Yes"<<'\n';return 0;
}

因为这题数据是100,所以DFS是过不了哒。正解应该是BFS。 

 栈的写法可以直接ac,效率可见一斑。

#include<bits/stdc++.h>
const int N=110;
typedef std::pair<int,int> PII;
char g[N][N];
bool st[N][N];
int n,m;
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int flag=0;void dfs(int x,int y)
{std::stack<PII> stk;st[x][y]=true;stk.push({x,y});while(!stk.empty()){auto t=stk.top();int a=t.first;int b=t.second;if(a==n&&b==m){flag=1;return ;}int ok=0;for(int i=0;i<4;i++){int na=a+dx[i],nb=b+dy[i];if(g[na][nb]=='#') continue;if(st[na][nb]) continue;if(a<1||b<1||a>n||b>m) continue;//这个点可以走ok=1;st[na][nb]=true; stk.push({na,nb});}if(!ok){//不回溯是因为到这一步说明这个点是死胡同 //st[stk.top().first][stk.top().second]=0;stk.pop();}}return ;
}
signed main()
{std::cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){std::cin>>g[i][j];}}dfs(1,1);if(flag) std::cout<<"Yes"<<'\n';else std::cout<<"No"<<'\n';return 0;
}

BFS

宽度优先搜索

#include<bits/stdc++.h>
typedef std::pair<int,int> PII;
const int N=110;
int n,m;
char g[N][N];
int dist[N][N];
PII q[N*N];
int hh=0,tt=-1;
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};void bfs(int x,int y)
{memset(dist,-1,sizeof dist);dist[x][y]=0;q[++tt]={x,y};while(hh<=tt){PII t=q[hh++];for(int i=0;i<4;i++){int a=t.first+dx[i];int b=t.second+dy[i];if(dist[a][b]!=-1) continue;if(g[a][b]=='#') continue;if(a<1||b<1||a>n||b>m) continue;q[++tt]={a,b};dist[a][b]=dist[x][y]+1;if(a==n&&b==m) {std::cout<<"Yes";return ;}}}std::cout<<"No";return ;
}
signed main()
{std::cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){std::cin>>g[i][j];} }bfs(1,1);return 0;
}

http://www.mmbaike.com/news/38261.html

相关文章:

  • 龙港做网页网站制作十大接单平台
  • wordpress链接去除下划线福州seo排名公司
  • 做真实3d效果图网站中国有几个搜索引擎
  • 购物网站做兼职使用百度地图导航收费吗
  • 品牌建设网站规划长沙网站定制公司
  • 淘宝开放平台seo课程培训要多少钱
  • 网站建设为中心网站免费软件
  • 网站建设合同标的一元手游平台app
  • 织梦仿非织梦网站湖南网站建站系统哪家好
  • 深圳成豪设计seo独立站
  • 成都网站建设 推广行爱站网关键词挖掘查询工具
  • 网站锚点链接怎么做广州网站建设费用
  • 珠海做企业网站多少钱seo的优化方案
  • 大家做公司网站 都是在哪里做的湖南关键词网络科技有限公司
  • 网站后台管理系统管理员登录广告类的网站
  • 美国新疫情最新消息今天seo外包上海
  • 福田莲花网站建设什么是引流推广
  • 网站做曲线的源代码飓风seo刷排名软件
  • 加盟做地方门户网站网站搭建
  • 帮人注册网站 做app江门关键词排名优化
  • 关于一学一做的短视频网站好舆情优化公司
  • 网站优化哪里好如何查看百度指数
  • 平面设计师证怎么考成都seo培训班
  • 平面设计的前景怎么样seo外链代发
  • 洛阳作公司网站seo关键词排名优化系统源码
  • 那些网站做汽车可靠性手机百度提交入口
  • 小程序开发公司怎么选漯河seo公司
  • wordpress菜单a标签seo优化自动点击软件
  • excel免费模板网站哪个平台推广效果好
  • 做网站月入7000个人网页制作完整教程