Ambos são do mesmo tipo. O problema de doutrinação bfs é ter vários blocos bidimensionais conectados. Claro, dfs e busca de união também podem ser concluídos
. 1. Grupo molecular, isso mesmo!
Irrigue no lugar de 0. 2. Programação de robôs. Irrigue em todos os locais diferentes de # e, em seguida, conte quantos Rs em cada bloco conectado
inline void bfs(int x,int y)
{
ans=0;
node st;st.x=x;st.y=y;
vis[st.x][st.y]=1;
q.push(st);
while(!q.empty())
{
node k=q.front();q.pop();
if(a[k.x][k.y]=='R')ans++;
for(int i=0;i<4;i++)
{
int xx=k.x+dx[i];
int yy=k.y+dy[i];
if(!vis[xx][yy]&&a[xx][yy]!='#'&&xx>=1&&xx<=n&&yy>=1&&yy<=m)
{
vis[xx][yy]=1;
node ne;ne.x=xx;ne.y=yy;ne.tep=k.tep+1;
q.push(ne);
}
}
}
tot=max(tot,ans);
}
inline void bfs(int x,int y)
{
ans++;
node st;st.x=x;st.y=y;
vis[st.x][st.y]=1;
q.push(st);
while(!q.empty())
{
node k=q.front();q.pop();
for(int i=0;i<4;i++)
{
int xx=k.x+dx[i];
int yy=k.y+dy[i];
if(!vis[xx][yy]&&a[xx][yy]!='0'&&xx>=1&&xx<=n&&yy>=1&&yy<=m)
{
vis[xx][yy]=1;
node ne;ne.x=xx;ne.y=yy;ne.tep=k.tep+1;
q.push(ne);
}
}
}
}