文章
61
粉丝
137
获赞
224
访问
78.2k
#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 &...
    
登录后发布评论
感觉写的很复杂。。书上例题的代码都没有这么多