POJ--2386题C++实现
本题利用深度遍历的穷竭搜索法进行解题,即对每一个元素都对其进行各个方向的深度遍历,穷尽其周围
#include<iostream>
#include<cstdio>
using namespace std;
char a[10000][10000]={{'.'}};//全局变量的使用可以避免函数引用二维数组的复杂
int solve(int n,int m);
void dfs(int i,int j,int n,int m);
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
getchar();
for(int j=0;j<m;j++)
cin>>a[i][j];
}
int sum=0;
sum=solve(n,m);
cout<<sum<<endl;
return 0;
}
int solve(int n,int m)
{
int counter=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i][j]=='W')
{
dfs(i,j,n,m);
counter++;
}
return counter;
}
void dfs(int i,int j,int n,int m)
{
a[i][j]='.';//在访问完变量后对其进行改变,使的该元素不会影响以计数
for(int dx=-1;dx<=1;dx++)
for(int dy=-1;dy<=1;dy++)
{
int nx=i+dx,ny=j+dy;
if(nx>=0 && nx<=n && ny<=m && ny>=0 && a[nx][ny]=='W')
dfs(nx,ny,n,m);
}
}
最新文章
- 关于HTML5你必须知道的28个新特性,新技巧以及新技术
- R-处理数据对象的实用函数
- 关于printf函数输出先后顺序的讲解!!
- html5 filereader读取流注意事项
- [BS-16] 尽量将View的Opaque属性设置为YES(默认就是YES)
- nginx完美支持tp框架
- HDOJ/HDU 1200 To and Fro(加密解密字符串)
- python基础之 list和 tuple(元组)
- Ubuntu14.04(64位)安装ATI_Radeon_R7_M265显卡驱动
- 445port入侵详细解释
- Myeclipse详细使用教程
- FastDFS简介和架构图(内容来自于阅读fastdfs官方文档的总结)
- Spring Boot + Netty 中 @Autowired, @Value 为空解决
- SpringBoot系列: 使用 consul 作为服务注册组件
- Freemarker中的日期输出
- 如何修改DEDECMS文章标题长度
- Native Code
- 实验二:klee处理未建模函数和处理error的方式
- jdk与eclipse不匹配的各种问题。。。
- reading list
热门文章
- 22_webpack_优化
- 调度器30—调度相关结构体—p->;flags
- debian11下载软件包及依赖(本地使用)
- window向linux传递文件
- error: the option `Z` is only accepted on the nightly compiler
- J V M大概理解
- Kubernetes学习笔记(一)
- 面试官:MySQL一千万数据,怎么快速查询?
- Vulnhub 靶场 DIGITALWORLD.LOCAL: SNAKEOIL
- R7-3 十六进制字符串转换成十进制非负整数