不嫌弃的话可以参考我当时考场代码,删去了判断 $k$ 的部分。
```cpp
int dis[MAXN][MAXN];
bool vis[MAXN][MAXN];
int n, m;
int q[MAXN], l, r;
void bfs(int st)
{
dis[st][st] = 0;
vis[st][st] = true;
l = 1, r = 0;
q[++r] = st;
while (l <= r) {
int x = q[l++];
for (int i = Head[x]; i; i = Next[i]) {
int y = to[i];
if (vis[st][y]) continue;
vis[st][y] = true;
dis[st][y] = dis[st][x] + 1;
q[++r] = y;
}
}
}
```
by Laffey @ 2022-11-25 18:18:28
@[Laffey](/user/577948) 谢谢您
by qip101 @ 2022-11-25 18:19:12