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

网站建设年度计划看房网

网站建设年度计划,看房网,网站字体大小是多少合适,建设网站选择主机时费用最昂贵的方案是引言 之前刚学DFS的时候并不完全理解为什么递归可以一直往下做#xff0c;后来直到了递归的本质是栈#xff0c;就想着能不能手写栈来代替递归呢。当时刚学#xff0c;自己觉得水平不够就搁置了这个想法#xff0c;今天上数据结构老师正好讲了栈的应用#xff0c;其中就有… 引言 之前刚学DFS的时候并不完全理解为什么递归可以一直往下做后来直到了递归的本质是栈就想着能不能手写栈来代替递归呢。当时刚学自己觉得水平不够就搁置了这个想法今天上数据结构老师正好讲了栈的应用其中就有一个走迷宫问题于是写下这篇文章希望能帮助大家更好的理解DFS。 B3625 迷宫寻路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) DFS #includebits/stdc.h const int N110; char g[N][N]; bool st[N][N]; int n,m; int dx[]{0,1,0,-1}; int dy[]{1,0,-1,0}; int flag0; void dfs(int x,int y) {if(flag) return;if(xnym){flag1;return ;}for(int i0;i4;i){int axdx[i];int bydy[i];if(a1||b1||an||bm) 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::cinnm;for(int i1;in;i){for(int j1;jm;j){std::cing[i][j];}}st[1][1]true;dfs(1,1);if(!flag) std::coutNo\n;else std::coutYes\n;return 0; } 因为这题数据是100所以DFS是过不了哒。正解应该是BFS。  栈 栈的写法可以直接ac效率可见一斑。 #includebits/stdc.h const int N110; typedef std::pairint,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 flag0;void dfs(int x,int y) {std::stackPII stk;st[x][y]true;stk.push({x,y});while(!stk.empty()){auto tstk.top();int at.first;int bt.second;if(anbm){flag1;return ;}int ok0;for(int i0;i4;i){int naadx[i],nbbdy[i];if(g[na][nb]#) continue;if(st[na][nb]) continue;if(a1||b1||an||bm) continue;//这个点可以走ok1;st[na][nb]true; stk.push({na,nb});}if(!ok){//不回溯是因为到这一步说明这个点是死胡同 //st[stk.top().first][stk.top().second]0;stk.pop();}}return ; } signed main() {std::cinnm;for(int i1;in;i){for(int j1;jm;j){std::cing[i][j];}}dfs(1,1);if(flag) std::coutYes\n;else std::coutNo\n;return 0; } BFS 宽度优先搜索 #includebits/stdc.h typedef std::pairint,int PII; const int N110; int n,m; char g[N][N]; int dist[N][N]; PII q[N*N]; int hh0,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(hhtt){PII tq[hh];for(int i0;i4;i){int at.firstdx[i];int bt.seconddy[i];if(dist[a][b]!-1) continue;if(g[a][b]#) continue;if(a1||b1||an||bm) continue;q[tt]{a,b};dist[a][b]dist[x][y]1;if(anbm) {std::coutYes;return ;}}}std::coutNo;return ; } signed main() {std::cinnm;for(int i1;in;i){for(int j1;jm;j){std::cing[i][j];} }bfs(1,1);return 0; }
http://www.dnsts.com.cn/news/164227.html

相关文章:

  • 学建站论坛什么网站专做衣服
  • 品牌网站设计网站三星官方网站
  • 扬州市建设局网站 竣工备案襄阳手机网站建设公司
  • 网站建设购销合同网站索引量怎么增加
  • 域名拍卖网站全国建筑行业资质平台查询官网
  • 寻找扬中网站建设网站建设贵吗
  • 企业建设网站哪家好直通车推广
  • 阜阳手机网站建设武昌网站建设价格多少
  • 大连网站 设计公司关掉自己做的网站
  • 高级的网站建设佛山网站建设公司排名
  • 上海柘中建设股份有限公司网站wordpress怎么加js文件
  • 厦门营销型网站建设建设银行短信带网站
  • 美食网站wordpress 婚礼邀请
  • 网站建设 网络科技公司网站访问速度 云组机
  • 网站备案要幕布照wordpress 购物 app
  • 广州建网站藤虎机械加工网瓦房北方机床附件厂
  • 菏泽县建设局网站成都flash互动网站开发
  • 网站地图模版wordpress媒体库是哪个文件夹
  • 手机网站应该怎么做桂林做手机网站
  • 庆网站制作公司wordpress 换行用
  • 美食类网站开发说明书怎么做网站才能吸引人
  • 深圳市手机网站建设公司东莞企业营销型网站策划
  • 企业网站备案需要什么wordpress主题demo导入
  • 学校网站用什么模板好自己服务器建设网站
  • 实业有限公司网站怎么做做网站重要标签
  • 网站开发工具有哪些安卓app快速开发
  • 杭州网站推广平台沈阳软件开发培训
  • 新闻静态网站模板下载阿里云服务器责任怎么做网站
  • 山东省建设建设监理协会网站drupal个人门户网站开发
  • 怎么做网站导航外链轻松筹网站可以做吗