题目背景

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. Redis之字典(hashtable)
  2. Catalyst6500系列引擎上MSFC和PFC的区别
  3. [*leetcode 5] Longest Palindromic Substring
  4. ThinkPHP笔记——完全配置参考手册
  5. C2248编译错误的原因和解决--VC6向VC7.1迁移真是累死人,N多编译错误
  6. MySQL(二): 表的增删查改
  7. 一个Angular应用开发的辅助Visual Studio Code扩展 - Dependency Tree
  8. android动态居中布局,Android动态添加布局的两种方式
  9. RHEL7升级自带Git
  10. 【训练计划】ACM题集以及各种总结大全
  11. 计算机基础【面试遇到】
  12. Linux用管道移动文件夹,linux常用命令(示例代码)
  13. 计算机一些常见名词解释
  14. 幼儿园管理系统的设计与实现
  15. 深入浅出数据分析(美 完整中文版)米尔顿
  16. 库存管理一般用什么软件比较好?
  17. 【lua语言从青铜到王者】第二篇:开发环境搭建+3种编辑器使用示例
  18. 多线程为什么比单线程快呢?
  19. rrpp+ospf环网组建
  20. Python--进程池与线程池

热门文章

  1. Qt的基础及基本代码说明
  2. 超级卵杰的自动脚本(1)连接斗鱼弹幕服务器。
  3. 利用java打印心型、圆形图案
  4. Unity版本升级问题总结
  5. 最新防病毒软件排名:PC-cillin 拦截率第一名
  6. django整体文件结构、配置文件详解
  7. dllhost.exe进程消耗内存解决方案
  8. Midas/Civil 2011 v2.1 Win32_64-ISO 1CD(通用的结构分析软件)
  9. python 接口自动化测试框架有哪些_Python接口自动化测试框架
  10. 智慧成铁显示无法连接服务器是怎么回事,智慧成铁是什么软件?智慧成铁职工app功能详解[图]...