题目
解析
BFS和DFS的简单题目,在这我只讲BFS。
我们先找到一个 *,然后对其进行 BFS,并将所有访问过的 * 标记为 .,在进行 BFS 的同时记录下目前的 * 数量。
当一次 BFS 结束后,我们将统计的数量放入之前开好的桶中,即将 h r e s + 1 h_{res}+1 hres+1。
如果此时 h r e s h_{res} hres 为 0 0 0,则将星系数量加上 1 1 1 并更新此时最大的星系,因为只有 h r e s h_{res} hres 改变了,所以只需要将 h r e s h_{res} hres 和 m a x max max 比较。
结束后再找到一个没有被访问过的 *,然后重复上述过程,直到所有 * 被访问。
代码
#include<bits/stdc++.h>
using namespace std