哪位好心人帮忙提交一下
查看原帖
哪位好心人帮忙提交一下
700478
ZHOUJIECHEN楼主2024/2/29 21:48
using namespace std;
int n=1,m=1,ans;
char a[111][111];
int v[111][111];
void dfs(int x,int y)
{
	v[x][y]=1;
	if(a[x+1][y]=='@'&&v[x+1][y]==0)
	{
		dfs(x+1,y);
	}
	if(a[x-1][y]=='@'&&v[x-1][y]==0)
	{
		dfs(x-1,y);
	}
	if(a[x][y+1]=='@'&&v[x][y+1]==0)
	{
		dfs(x,y+1);
	}
	if(a[x][y-1]=='@'&&v[x][y-1]==0)
	{
		dfs(x,y-1);
	}
	if(a[x+1][y+1]=='@'&&v[x+1][y+1]==0)
	{
		dfs(x+1,y+1);
	}
	if(a[x+1][y-1]=='@'&&v[x+1][y-1]==0)
	{
		dfs(x+1,y-1);
	}
	if(a[x-1][y+1]=='@'&&v[x-1][y+1]==0)
	{
		dfs(x-1,y+1);
	}
	if(a[x-1][y-1]=='@'&&v[x-1][y-1]==0)
	{
		dfs(x-1,y-1);
	}
	return;
}
int main()
{
	
	while(n!=0&&m!=0)
	{
		cin>>n>>m;
		ans=0;
		memset(a,0,sizeof(a));
		memset(v,0,sizeof(v));
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				cin>>a[i][j];
				v[i][j]=0;
			}
		}
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				if(a[i][j]=='@'&&v[i][j]==0)
				{
					ans++;
					dfs(i,j);
				}
			}
		}
		cout<<ans;
	}
	
}```
2024/2/29 21:48
加载中...