50分,求助
查看原帖
50分,求助
790535
hanyaxin楼主2023/3/28 18:22
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
char a[101][101];
void dfs(int x,int y)
{
    if(x<1||x>m||y<1||y>n)
    return ;
    if(a[x][y]=='W')
    {
        a[x][y]='.';
        dfs(x-1,y);
        dfs(x+1,y);
        dfs(x,y-1);
        dfs(x,y+1);
        dfs(x-1,y-1);
        dfs(x+1,y+1);
        dfs(x-1,y+1);
        dfs(x+1,y-1);
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    	for(int j;i<=n;j++)
        cin>>a[i][j];
    for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
            if(a[i][j]=='W')
            {
                ans++;
                dfs(i,j);
            }
    cout<<ans;
    return 0;
}
2023/3/28 18:22
加载中...