AcWing 173 矩阵距离
思路:利用bfs实现多源最短路,考虑1字符所在的点在第一层,距离值为0,先将所有距离为0的点放入队列,为第一层,然后对第一层所有点的上下左右所有不在层内的点进行遍历,距离值为上一层加一,且入队,挨着第一层的点为第二层,他们的距离都为1,接着对第二层执行该操作,之后第三层…
需要注意的是,给的A矩阵是字符矩阵,要注意读入和判断
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
typedef pair<int, int>PII;
int dis[N][N];
int n, m;
char g[N][N];
PII q[N];
int bfs(){
memset(dis, -1, sizeof dis);
queue<PII>q;