能打dfs就绝不打bfs
2024-01-16 12:47:16
发布于:北京
156阅读
0回复
0点赞
才是真正的
#include<iostream>
using namespace std;
int n,m,s;
char ch[115][115];
void dfs(int a,int b){
if(a<1||b<1||a>n||b>m||ch[a][b]=='.') return;
ch[a][b]='.';
dfs(a-1,b);dfs(a+1,b);dfs(a,b-1);dfs(a,b+1);
dfs(a-1,b-1);dfs(a-1,b+1);dfs(a+1,b-1);dfs(a+1,b+1);
return;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>ch[i][j];
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(ch[i][j]=='.') continue;
dfs(i,j);
s++;
}
}
cout<<s;
return 0;
}
全部评论 1
az……dfs也不至于……一个一个打吧……
2024-02-14 来自 广东
0主要是懒()
2024-02-15 来自 北京
0
有帮助,赞一个