Grupo molecular e robôs de programação

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);
            }
        }
    }
}

Acho que você gosta

Origin blog.csdn.net/yhhy666/article/details/109240395
Recomendado
Clasificación