有没有好心人帮忙提交一下啊
查看原帖
有没有好心人帮忙提交一下啊
680110
Hey_China楼主2024/7/10 14:45
#include<bits/stdc++.h>
using namespace std;
int n,m;
char ls;
bool mp[1009][1009];
void dfs(int x,int y){
	if(!mp[x][y]){
		return;
	}
	mp[x][y] = 0;
	int dx[8] = {-1,1,0,0,-1,1,-1,1},dy[8] = {0,0,-1,1,-1,-1,1,1};
	for(int i = 0;i<=7;i++){
		dfs(x+dx[i],y+dy[i]);
	}
}
int main(){
	int ans = 0;
	while(cin>>n>>m){
		ans = 0;
		if(!n&&!m){
			return 0;
		}
		for(int i = 1;i<=n;i++){
			for(int j = 1;j<=m;j++){
				cin>>ls;
				if(ls == '@'){
					mp[i][j] = 1;
				}
			}
		}
		for(int i = 1;i<=n;i++){
			for(int j = 1;j<=m;j++){
				if(mp[i][j]){
					dfs(i,j);
					ans++;
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
2024/7/10 14:45
加载中...