文章
61
粉丝
137
获赞
18
访问
38.3k
#include<bits/stdc++.h>
using namespace std;
struct item{
int i;
int j;
int step;
char date;
}; //存储广度优先遍历的每一步节点信息
char mp[110][110];
void bfs(int h, int w);
int main(){
int h, w;
while(cin >> h >> w){
if(h == 0 && w == 0)
break;
mp [h+2][w+2]; //表示迷宫
//给迷宫上下边界打上围墙
for(int i = 0; i <= w+1; i++){
mp[0][i] = '#';
mp[w+1][i] = '#';
}
//输入迷宫
for(int i = 1; i <= h; i++){
mp[i][0] = '#'; //给迷宫左边界打上围墙
mp[i][w+1] = '#'; //给迷宫右边界打上围墙
for(int j = 1; j <= w; j++){
cin >> mp[i][j];
}
}
//广度优先遍历
bfs(h, w);
}
return 0;
}
void bfs(int h, int w){
queue<item> myqueue;
item location, tmp;
//找到出发点
for(int i = 1; i <= h; i++)
for(int j = 1; j &...
登录后发布评论
感觉写的很复杂。。书上例题的代码都没有这么多