题目背景

oibh总部突然被水淹没了!现在需要你的救援……

题目描述

oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去的……现在给出oibh的围墙建设图,问oibh总部没被淹到的重要区域(由"0"表示)有多少。

输入格式

第一行是两个数,x和y(x,y<=500)

第二行及以下是一个由和0组成的xy的图。

输出格式

输出没被水淹没的oibh总部的“0”的数量。

输入(*显示有问题用1代替)

样例输入1
4 5
00000
00100
01010
00100

样例输入2
5 5
11111
10101
11011
10101
11111

输出

样例输出1
1

样例输出2
5

#include<bits/stdc++.h>
using namespace std;
#define pi acos(-1)
#define mod 1000000007
#define ll long long
#define ull unsigned long long
#define mem(a) memset(a,0,sizeof(a))
#define cio ios::sync_with_stdio(false);
int next[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};
int s[510][510];
int vis[510][510];
int n, m;
int cnt = 0;
int ans = 0;
int flag = 1;
struct  node
{int x, y;
};void dfs(int xx, int yy) //深搜连通块
{vis[xx][yy] = 10;ans++;for(int i = 0; i < 4; i++){int tx = xx+next[i][0];int ty = yy+next[i][1];if(tx<1||tx>n||ty<1||ty>m){flag = 0;continue;}if(vis[tx][ty]==0&&s[tx][ty]==0) dfs(tx,ty);}
}int main()
{cin >> n >> m;//读入地图大小for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){char a;cin >> a;//读入地图(由于连续用字符读入)if(a=='0'){s[i][j] = 0;}else{s[i][j] = 1;}}}for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){if(s[i][j]==0&&vis[i][j]==0){ //该点未属于连通块ans = 0;//统计连通块个数flag = 1;//判断边界dfs(i,j); //搜索连通块if(flag) cnt += ans;}}}cout << cnt << endl;return 0;
}

洛谷:P1506 拯救oibh总部(DFS)相关推荐

  1. 洛谷P1506 拯救oibh总部 —DFS—围墙

    拯救oibh总部 - 洛谷 ## 题目背景 oibh 总部突然被水淹没了!现在需要你的救援-- ## 题目描述 oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙.用 `* ...

  2. 洛谷 P1506 拯救oibh总部-dfs染色法

    题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...

  3. 洛谷P1506 拯救oibh总部【DFS】

    题目链接:P1506 拯救oibh总部 程序说明: 深度优先搜索,和P1162填涂颜色差不多(没有区别). 参考题解:P1506 拯救oibh总部 题解 代码如下: #include <iost ...

  4. 洛谷 P1506 拯救oibh总部

    P1506 拯救oibh总部 题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示 ...

  5. 洛谷 P1506 拯救oibh总部 题解(洪水填充法的模板)

    目录 题目背景 题目描述 输入格式 输出格式 输入输出样例 hack: 说明/提示 总结 题目背景 oibh 总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh 被突来的洪水淹没了,还好 o ...

  6. 洛谷P1506 拯救oibh总部 题解

    题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...

  7. 洛谷----P1506 拯救oibh总部

    题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示,而一个封闭的*号区域洪水是进 ...

  8. 洛谷P1506 拯救oibh总部

    题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示,而一个封闭的*号区域洪水是进 ...

  9. 洛谷p1506——拯救oibh总部 Java题解 DFS

    看了一下java的题解比较少,来发表一下Java AC代码.用的是DFS,染色题型. import java.util.*; public class Main{static Scanner sc=n ...

  10. [洛谷 P1506] 拯救oibh总部

    原题传送门 蒟蒻已经菜的连垃圾DFS都不会了,练一道难题... 直接上代码.. #include<bits/stdc++.h> using namespace std; char ch; ...

最新文章

  1. Android进阶知识:事件分发与滑动冲突(一)
  2. php 字符串比较的规则,PHP字符串比较函数strcmp()与strcasecmp()的用法介绍
  3. Mybatis源码分析之(五)mapper如何将数据库数据转换成java对象的
  4. 5 获取窗口位置_详解:四种方法教你对Python获取屏幕截图(PyQt , pyautogui)
  5. python consul服务发现_consule服务注册和发现 安装 部署
  6. [转载] Python之Numpy模块中的方法详解
  7. 俄罗斯大神 lopatkin 毛子 最新 Windows 10 Pro 19041.450 20H1 Release x86-x64 ZH-CN DREY
  8. step14. ubuntu18.04下载安装scala(转)
  9. 51单片机实现拼音输入法
  10. Python招聘职位大体是两个方向
  11. phpunit 基境
  12. 练习-Java类和对象之对象组合之求圆锥体表面积
  13. yum安装软件时报错:Errors during downloading metadata for repository ‘AppStream‘的处理
  14. 微信开发者工具和gitee实现多人协作
  15. 摄像头poe供电原理_监控摄像头poe供电维修方法
  16. 有服务器风扇声音对胎儿有影响吗,怀孕期间长时间噪音对胎儿的影响有哪些
  17. 【100%通过率】华为OD机试真题 Python 实现【核酸最快检测效率】【2022.11 Q4 新题】
  18. 获取json中数组的length
  19. 12306登录验证码识别(Java版)
  20. springcloud+fastdfs在docker中设置防盗链

热门文章

  1. python 老男孩学习视频
  2. Vue之scoped限制优劣
  3. 电脑传图片到手机adb命令
  4. Win7上装双系统,完美体验Win8
  5. 新生儿用母乳如何喂养
  6. Cookies 剪影 光照系列7
  7. 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)
  8. OrangePi PC 玩Linux主线内核踩坑之旅(一)之制作第一个镜像
  9. 手机高端市场跃变前夜:谁是关键变量 ?
  10. 车载信息娱乐系统的网络安全考虑