【搜索】洛谷 P1506 拯救oibh总部
来源:互联网 发布:数据库的逻辑设计 编辑:程序博客网 时间:2024/05/29 19:34
题目背景
oibh总部突然被水淹没了!现在需要你的救援……
题目描述
oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去的……现在给出oibh的围墙建设图,问oibh总部没被淹到的重要区域(由”0”表示)有多少。
输入输出格式
输入格式:
第一行是两个数,x和y(x,y<=500)
第二行及以下是一个由*和0组成的x*y的图。
输出格式:
输出没被水淹没的oibh总部的“0”的数量。
输入输出样例
输入样例#1:
样例输入1
4 5
00000
00*00
0*0*0
00*00
样例输入2
输出样例#1:
样例输出1
1
样例输出2
5
代码
#include<iostream>#include<cstring>using namespace std;int a[505][505],total;int dr[4][2]={{-1,0},{1,0},{0,-1},{0,1}};int x,y;void search(int m,int n){ a[m][n]=0; for(int i=0;i<4;i++) { int nx=m+dr[i][0],ny=n+dr[i][1]; if(a[nx][ny]==0)continue; else search(nx,ny); }}int main(){ cin>>x>>y; for(int i=1;i<=x;i++) { for(int j=1;j<=y;j++) { char k; cin>>k; if(k=='0')a[i][j]=1; else a[i][j]=0; } } for(int i=1;i<=y;i++) { if(a[1][i]==1)search(1,i); if(a[x][i]==1)search(x,i); } for(int i=1;i<=x;i++) { if(a[i][1]==1)search(i,1); if(a[i][y]==1)search(i,y); } for(int i=1;i<=x;i++) { for(int j=1;j<=y;j++) total+=a[i][j]; } cout<<total; return 0;}
0 0
- 【搜索】洛谷 P1506 拯救oibh总部
- 洛谷 P1506 拯救oibh总部
- P1506 拯救oibh总部
- 拯救oibh总部-洛谷 1506
- 拯救oibh总部
- 拯救OIBH总部
- 拯救OIBH总部
- 拯救OIBH总部
- 拯救OIBH总部
- VIJOS-P1294-拯救OIBH总部
- [DFS][BFS][种子染色]拯救OIBH总部
- 拯救OIBN总部
- 【搜索】拯救ice-cream
- oibh bbs
- 深度优先搜索之拯救ice-cream
- 【搜索+状态压缩】拯救大兵瑞恩
- BFS 搜索 Problem 1012 Rescue 拯救天使
- 【搜索】 noi openjudge 2.5 拯救行动
- C++各进制的输出
- 安装python第三方库最简单方便的方法-使用Anaconda
- 解决 mysql 存储过程查询数据方式是变量拼接表名的写法
- Java如何对一个数开方
- Linux的系统级性能剖析工具-perf
- 【搜索】洛谷 P1506 拯救oibh总部
- layui弹框下拉搜索
- 拷贝Linux虚拟机后无法启动网卡
- python类成员变量和实例成员变量
- 集中式(svn) VS 分布式(Git)控制系统
- android studio 中 gradle 配置与说明
- RxJava
- win10+qt creator5.5 msvc版本配置opencv2.4.9
- centOs 安装mysql数据库