10分,悬赏一关
查看原帖
10分,悬赏一关
955954
Miracle_InDream楼主2023/7/21 12:06
#include<bits/stdc++.h>
using namespace std;

int n,m,ans=0;char g[105][105];
int dx[8]={1,-1,0,0,1,-1,-1,1};
int dy[8]={0,0,-1,1,1,1,-1,-1};
void dfs(int x,int y)
{
	for(int i=0;i<8;i++)
	{
		int xx=x+dx[i];
		int yy=y+dy[i];
		if(xx>=0&&xx<n&&yy>=0&&yy<m&&g[xx][yy]!='.')
		{
			g[xx][yy]='.';
			ans++;
			dfs(xx,yy);
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			cin>>g[i][j];
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
			dfs(i,j);
	}
	cout<<ans;
}
2023/7/21 12:06
加载中...