C--
2024-05-25 11:22:40
发布于:上海
6阅读
0回复
0点赞
#include<iostream>
using namespace std;
bool vis[101][101],t;
int dx[8]{-1,-1,-1,0,0,1,1,1},dy[8]{-1,0,1,-1,1,-1,0,1};
int n,m;char c;
long long s=0;
void dfs(int x,int y){
if(x<1||x>n||y<1||y>m||vis[x][y]){return ;}
t = 1;
for(int i{0};i < 8;i++){
vis[x][y] = 1;
dfs(x+dx[i],y+dy[i]);
}
}
int main(){
ios::sync_with_stdio(0);
cin >> n >> m;
for(int i{1};i <= n;i++)
for(int j{1};j <= m;j++){
cin >> c;
if(c == '.'){
vis[i][j] = 1;
}
}
for(int i{1};i <= n;i++)
for(int j{1};j <= m;j++){
t = 0;
dfs(i,j);
if(t)s++;
}
cout << s;
return 0;
}
这里空空如也
有帮助,赞一个