1 条题解

  • 0
    @ 2025-8-2 21:20:59
    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    int ans;
    char a[105][105];
    void dfs(int x,int y)
    {
        if(x>n||x<1||y>m||y<1||a[x][y]=='0')return;
        a[x][y]='0';
        dfs(x+1,y);
        dfs(x,y+1);
        dfs(x-1,y);
        dfs(x,y-1);
    }
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++) cin>>a[i][j];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                if(a[i][j]!='0')ans++,dfs(i,j);
            }
        }
        cout<<ans;
        return 0;
    }
    
    • 1

    信息

    ID
    309
    时间
    1000ms
    内存
    64MiB
    难度
    9
    标签
    递交数
    7
    已通过
    5
    上传者