有几个水洼(DFS)
2024-08-31 21:47:38
#include <iostream>
#include<cstdio>
using namespace std;
#define maxn 105
char field[maxn][maxn];
int n,m;
void dfs(int x,int y)
{
field[x][y]='.';//注意要改成.
for(int dx=-;dx<=;dx++)
for(int dy=-;dy<=;dy++) //八连通,八个方向都要dfs
{
int xx=x+dx,yy=y+dy;
if(xx>=&&xx<n&&yy<m&&yy>=&&field[xx][yy]=='W') dfs(xx,yy);
}
}
void solve()
{
int ans=;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
if(field[i][j]=='W')
{
dfs(i,j);
ans++;//dfs几次就代表有几个水洼
} cout<<ans;
}
int main()
{ cin>>n>>m;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
cin>>field[i][j];
solve();
return ;
}
最新文章
- [LeetCode] Implement Trie (Prefix Tree) 实现字典树(前缀树)
- ubuntu 创建用户
- mac下 jenkins 环境搭建
- mongo安装、备份与常见命令整理
- 学习资料 50个常用的sql语句
- 查询(c语言实现)
- 【转载】TCP保活(TCP keepalive)
- sublime每次打开时都提示升级,怎么取消这个弹出框?
- Linux下的QQ折腾记
- C# - CSV(Comma-Separated Values)文件读取.
- 如何设置Installshield中 feature的选中状态
- 【Unity游戏开发】SDK接入与集成——小白入门篇
- STL中关于map和set的四个问题?
- Centos将yum源设置为阿里云的镜像源
- 常用的 jQuery 事件
- 分享一个14年写的用户管理类-swift版
- 移动Web UI库(H5框架)
- Code Review学习笔记
- Knockout开发中文API系列3–使用计算属性
- [EffectiveC++]item26:尽可能延后变量定义式的出现时间