我这哪有问题?求助大佬!
查看原帖
我这哪有问题?求助大佬!
800751
acmwriter楼主2022/12/26 17:21
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
int xd[4]={0,0,-1,1};
int yd[4]={1,-1,0,0};
char s[200][200];
void dfs(int x,int y)
{
    int nx,ny;
    for(int i=1;i<=4;i++)
    {
        nx=x+xd[i];
        ny=y+yd[i];
        if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&s[nx][ny]!='0')
        dfs(nx,ny);
    }
    s[x][y]='r';
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        cin>>s[i][j];
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(s[i][j]!='0')
            {
                dfs(i,j);
                ans++;
            }
        }
    }
    cout<<ans;
    return 0;
}
2022/12/26 17:21
加载中...