当前位置:首页 > Windows程序 > 正文

ACwing(基础)

2024-03-31 Windows程序

标签:

最短路模型

技术图片

#include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef pair<int,int> PII; const int N = 110; int n,m; int g[N][N]; int d[N][N]; PII q[N*N];//手写队列 int dfs() { int hh=0,tt=0; q[0]= {0,0}; memset(d,-1,sizeof(d));//初始化-1为标记,没搜寻过 d[0][0]=0; int dx[4]= {-1,0,1,0},dy[4]= {0,1,0,-1};//左右上下 while(hh<=tt) { auto t=q[hh++];//t表示当前位置 for(int i=0; i<4; i++) { int x=t.first+dx[i],y=t.second+dy[i];//(x、y)移动后的位置 if(x>=0&&x<n&&y>=0&&y<m&&g[x][y]==0&&d[x][y]==-1) { d[x][y]=d[t.first][t.second]+1;//当前位置+1 q[++tt]= {x,y};//进入队列用于下次查询 } } } return d[n-1][m-1]; } int main() { cin>>n>>m; for(int i=0; i<n; i++) for(int j=0; j<m; j++) cin>>g[i][j]; cout<<dfs()<<endl; return 0; }

ACwing(基础)--- 走迷宫(bfs)

标签:

原文地址:https://www.cnblogs.com/bingers/p/13272111.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/43540.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494595访问次数
  • 建站天数
  • 友情链接