
一、
#includeusing namespace std; const int N=110; int n,m; int g[N][N];//存的是地图 int d[N][N];//存的是每个点到起点的距离 typedef pair PII;//pair是C++中一种模板类型。 //每个pair对象可以存储两个值,这两个值可以是不同的数据类型。 //存储的值可以是基本数据类型也可以是自定义数据类型。 PII q[N*N],pre[N][N],t;//前者是自己实现队列,队列中每一个元素都是坐标pair,后者是多记录路径 int bfs() { int hh=0,tt=0; q[0]= {0,0}; //刚开始插入队头元素,也因为这样hh初始化为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) //队列不空时 { t=q[hh++];//取出队头元素,尝试往上下左右四个方向扩展 for(int i=0; i<4; i++) { // //对于当前节点t,依次探索四个方向是否可行 int x=t.first+dx[i],y=t.second+dy[i]; if(x>=0&&x =0&&y >n>>m; for(int i=0; i >g[i][j]; } cout< 欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)