这DFS,夺逝一件美逝a
2024-10-20 17:01:06
发布于:江西
38阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m,jsq;
char a[114][114],book[114][114];
int next_[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};
void dfs(int x,int y)
{
for(int i=0;i<=7;i++)
{
int nx=x+next_[i][0];
int ny=y+next_[i][1];
if(nx<1||nx>n||ny<1||ny>m||a[nx][ny]=='.'||book[nx][ny]==1)
continue;
book[nx][ny]=1;
dfs(nx,ny);
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cin>>a[i][j];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]=='W'&&book[i][j]==0)
{
book[i][j]=1;
dfs(i,j);
jsq++;
}
}
}
cout<<jsq;
}
全部评论 1
真不错
2024-07-14 来自 江西
0你现在被基金会开除了,现在和我去注射A级记忆清除剂!
2024-07-14 来自 江西
0
有帮助,赞一个