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);
}
}
POJ--2386题C++实现的更多相关文章
- POJ 2386 Lake Counting (水题,DFS)
题意:给定一个n*m的矩阵,让你判断有多少个连通块. 析:用DFS搜一下即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400 ...
- POJ 2386 Lake Counting DFS水水
http://poj.org/problem?id=2386 题目大意: 有一个大小为N*M的园子,雨后积起了水.八连通的积水被认为是连接在一起的.请求出院子里共有多少水洼? 思路: 水题~直接DFS ...
- POJ 2386
http://poj.org/problem?id=2386 这个题目与那个POJ 1562几乎是差不多的,只不过那个比这个输入要复杂一些 #include <stdio.h> #incl ...
- poj - 2386 Lake Counting && hdoj -1241Oil Deposits (简单dfs)
http://poj.org/problem?id=2386 http://acm.hdu.edu.cn/showproblem.php?pid=1241 求有多少个连通子图.复杂度都是O(n*m). ...
- POJ 水题若干
POJ 3176 Cow Bowling 链接: http://poj.org/problem?id=3176 这道题可以算是dp入门吧.可以用一个二维数组从下向上来搜索从而得到最大值. 优化之后可以 ...
- POJ 水题(刷题)进阶
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...
- DFS----Lake Counting (poj 2386)
Lake Counting(POJ No.2386) Description Due to recent rains, water has pooled in various places in Fa ...
- 上POJ刷题
Online Judge系统 Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交给定问题的多种程序(如C.C++.Pascal.Java)源代码,系统对源代码进行 ...
- POJ 2386——Lake Counting(DFS)
链接:http://poj.org/problem?id=2386 题解 #include<cstdio> #include<stack> using namespace st ...
- POJ 2386 Lake Counting 题解《挑战程序设计竞赛》
地址 http://poj.org/problem?id=2386 <挑战程序设计竞赛>习题 题目描述Description Due to recent rains, water has ...
随机推荐
- 当前我对Visual Grounding的看法
3D Visual Grounding 在看到相关论文的时候,我有一种非常严重的直觉--我的博士课题大概就是做这个了,虽然还没找老师聊. 简要解释:在这个任务中,研究者的主要目标是探索如何利用图像和自 ...
- 解决linux多网卡线路选择----windows arp绑定
1.arp -a 查看所有arp状态,有静态和动态 2.临时绑定ip和MACarp -s IP MAC //MAC用-分割 3.使用netsh做永久绑定a) 查看接口序号(Idx):netsh i i ...
- stata基础(十五)——线性回归的基本假定、估计回归系数、拟合系数
一.回归:回归是研究变量间相互关系的方法 1.条件分布:因变量在自变量取不同值时的分布 如果因变量在自变量取不同值时的条件分布都相同,那么自变量对因变量没有影响,否则就是有影响. 比较因变量在自变量取 ...
- proguard-maven-plugin混淆代码排除方法
当使用proguard-maven-plugin混淆代码时,如果要排除某个类中某个方法不混淆,务必参数指定全路径类名,否则会不生效.
- Oracle View的 With Check OPTION 參數有什麼用途?
1. 當通過View Insert數據到定義此View的SQL中的基本表的時候,insert的資料要符合SQL中here條件,否則Insert View 的操作無法成功: 2. 注意:WITH REA ...
- mi
小米耳机页面 <style> * { margin: 0; padding: 0; } body { width: 1226px; background-color: #f5f5f5; m ...
- clickhouse杂记
1,clickhouse show tables SHOW [TEMPORARY] TABLES [FROM ] [LIKE ''] [LIMIT ] [INTO OUTFILE ] [FORMAT ...
- One-Shot Transfer Learning of Physics-Informed Neural Networks
本文提出了一种将迁移学习应用到PINN的方法.可以极大的缩短训练PINN所用的时间,目前,PINN所需要的训练次数往往都在成千上万次, 作者通过批量训练PINN,来学习丰富的潜在空间用来执行迁移学习. ...
- 使用 p7zip 加密解密
1. 安装 yum install p7zip p7zip-plugins 2. 加密打包 7z a -ptest test.7z test.php -p 密码 test.php 可以是目录 或者 多 ...
- ObjectARX2016-2创建直线
众所周知,数据库里面包含各种数据表,而数据表里面又是各种记录,当然还有字段.AUTOCAD里面对于图形的管理也是基于图形数据库的.因此,想要在DWG里面添加一条直线,只需要做三件事: (1)打开数据表 ...