哪位dalao能帮忙交一下!!谢谢
查看原帖
哪位dalao能帮忙交一下!!谢谢
785636
2022_37_yzyUUU楼主2023/7/17 16:49
#include<bits/stdc++.h>
using namespace std;
char s[10001][10001];
int n,m,t=0; 
int p[8][2]={{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}};
void bfs(int x,int y){
	s[x][y]='*';
	for(int i=0;i<8;i++){
		int xx=x+p[i][0],yy=y+p[i][1];
		if(xx>0&&xx<=n&&yy>0&&yy<=m&&s[xx][yy]=='@')bfs(xx,yy);
	}
} 
int main()
{
	while(1){
		memset(s,' ',sizeof(s));
		t=0;
		cin>>n>>m;
		if(n==0&&m==0)break;
		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]=='@')
				{	
					t++;
					bfs(i,j);
				}
		}
		cout<<t<<endl;
	}
	return 0;
}

2023/7/17 16:49
加载中...