洛谷:P1506 拯救oibh总部(DFS)
题目背景
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)相关推荐
- 洛谷P1506 拯救oibh总部 —DFS—围墙
拯救oibh总部 - 洛谷 ## 题目背景 oibh 总部突然被水淹没了!现在需要你的救援-- ## 题目描述 oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙.用 `* ...
- 洛谷 P1506 拯救oibh总部-dfs染色法
题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...
- 洛谷P1506 拯救oibh总部【DFS】
题目链接:P1506 拯救oibh总部 程序说明: 深度优先搜索,和P1162填涂颜色差不多(没有区别). 参考题解:P1506 拯救oibh总部 题解 代码如下: #include <iost ...
- 洛谷 P1506 拯救oibh总部
P1506 拯救oibh总部 题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示 ...
- 洛谷 P1506 拯救oibh总部 题解(洪水填充法的模板)
目录 题目背景 题目描述 输入格式 输出格式 输入输出样例 hack: 说明/提示 总结 题目背景 oibh 总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh 被突来的洪水淹没了,还好 o ...
- 洛谷P1506 拯救oibh总部 题解
题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...
- 洛谷----P1506 拯救oibh总部
题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示,而一个封闭的*号区域洪水是进 ...
- 洛谷P1506 拯救oibh总部
题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示,而一个封闭的*号区域洪水是进 ...
- 洛谷p1506——拯救oibh总部 Java题解 DFS
看了一下java的题解比较少,来发表一下Java AC代码.用的是DFS,染色题型. import java.util.*; public class Main{static Scanner sc=n ...
- [洛谷 P1506] 拯救oibh总部
原题传送门 蒟蒻已经菜的连垃圾DFS都不会了,练一道难题... 直接上代码.. #include<bits/stdc++.h> using namespace std; char ch; ...
最新文章
- Redis之字典(hashtable)
- Catalyst6500系列引擎上MSFC和PFC的区别
- [*leetcode 5] Longest Palindromic Substring
- ThinkPHP笔记——完全配置参考手册
- C2248编译错误的原因和解决--VC6向VC7.1迁移真是累死人,N多编译错误
- MySQL(二): 表的增删查改
- 一个Angular应用开发的辅助Visual Studio Code扩展 - Dependency Tree
- android动态居中布局,Android动态添加布局的两种方式
- RHEL7升级自带Git
- 【训练计划】ACM题集以及各种总结大全
- 计算机基础【面试遇到】
- Linux用管道移动文件夹,linux常用命令(示例代码)
- 计算机一些常见名词解释
- 幼儿园管理系统的设计与实现
- 深入浅出数据分析(美 完整中文版)米尔顿
- 库存管理一般用什么软件比较好?
- 【lua语言从青铜到王者】第二篇:开发环境搭建+3种编辑器使用示例
- 多线程为什么比单线程快呢?
- rrpp+ospf环网组建
- Python--进程池与线程池
热门文章
- Qt的基础及基本代码说明
- 超级卵杰的自动脚本(1)连接斗鱼弹幕服务器。
- 利用java打印心型、圆形图案
- Unity版本升级问题总结
- 最新防病毒软件排名:PC-cillin 拦截率第一名
- django整体文件结构、配置文件详解
- dllhost.exe进程消耗内存解决方案
- Midas/Civil 2011 v2.1 Win32_64-ISO 1CD(通用的结构分析软件)
- python 接口自动化测试框架有哪些_Python接口自动化测试框架
- 智慧成铁显示无法连接服务器是怎么回事,智慧成铁是什么软件?智慧成铁职工app功能详解[图]...