HDU 1241 Oil Deposits 题解
Oil Deposits
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 45017 Accepted Submission(s): 25972
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
1
2
2
- //Author:LanceYu
- #include<iostream>
- #include<string>
- #include<cstring>
- #include<cstdio>
- #include<fstream>
- #include<iosfwd>
- #include<sstream>
- #include<fstream>
- #include<cwchar>
- #include<iomanip>
- #include<ostream>
- #include<vector>
- #include<cstdlib>
- #include<queue>
- #include<set>
- #include<ctime>
- #include<algorithm>
- #include<complex>
- #include<cmath>
- #include<valarray>
- #include<bitset>
- #include<iterator>
- #define ll long long
- using namespace std;
- const double clf=1e-;
- //const double e=2.718281828;
- const double PI=3.141592653589793;
- const int MMAX=;
- //priority_queue<int>p;
- //priority_queue<int,vector<int>,greater<int> >pq;
- int dir[][]={{-,},{,},{,-},{,},{-,-},{-,},{,},{,-}};//此处应为八个方向
- int n,m;
- char a[][];
- struct node
- {
- int x,y;
- };
- void bfs(int x,int y)
- {
- int i;
- queue<node> q;
- node g;
- g.x=x;g.y=y;
- q.push(g);
- a[x][y]='*';
- while(!q.empty())
- {
- node t=q.front();
- q.pop();
- for(i=;i<;i++)//八个方向寻找是否成片
- {
- int dx=t.x+dir[i][];
- int dy=t.y+dir[i][];
- if(dx>=&&dy>=&&dx<m&&dy<n&&a[dx][dy]=='@')//如果出现@,变为*(防止下面重复运算)
- {
- a[dx][dy]='*';
- g.x=dx;g.y=dy;
- q.push(g);
- }
- }
- }
- }
- int main()
- {
- int x;
- while(scanf("%d%d",&m,&n)!=EOF)
- {
- if(m==&&n==)
- return ;
- x=;//初始化
- for(int i=;i<m;i++)
- scanf("%s",a[i]);
- for(int i=;i<m;i++)
- {
- for(int j=;j<n;j++)
- {
- if(a[i][j]=='@')//找到一个@就bfs一下是否成一片,并且消除它们
- {
- bfs(i,j);
- x++;
- }
- }
- }
- printf("%d\n",x);
- }
- return ;
- }
HDU 1241 Oil Deposits 题解的更多相关文章
- HDU 1241 Oil Deposits(石油储藏)
HDU 1241 Oil Deposits(石油储藏) 00 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Probl ...
- HDU 1241 Oil Deposits --- 入门DFS
HDU 1241 题目大意:给定一块油田,求其连通块的数目.上下左右斜对角相邻的@属于同一个连通块. 解题思路:对每一个@进行dfs遍历并标记访问状态,一次dfs可以访问一个连通块,最后统计数量. / ...
- hdu 1241 Oil Deposits(DFS求连通块)
HDU 1241 Oil Deposits L -DFS Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & ...
- HDOJ(HDU).1241 Oil Deposits(DFS)
HDOJ(HDU).1241 Oil Deposits(DFS) [从零开始DFS(5)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...
- DFS(连通块) HDU 1241 Oil Deposits
题目传送门 /* DFS:油田问题,一道经典的DFS求连通块.当初的难题,现在看上去不过如此啊 */ /************************************************ ...
- hdu 1241 Oil Deposits (简单搜索)
题目: The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. ...
- HDU 1241 Oil Deposits【DFS】
解题思路:第一道DFS的题目--- 参看了紫书和网上的题解-- 在找到一块油田@的时候,往它的八个方向找,直到在能找到的范围内没有油田结束这次搜索 可以模拟一次DFS,比如说样例 在i=0,j=1时, ...
- hdu 1241:Oil Deposits(DFS)
Oil Deposits Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total ...
- HDU 1241 Oil Deposits DFS(深度优先搜索) 和 BFS(广度优先搜索)
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
随机推荐
- Eclipse GitHub SSH2 key配置
1. 用Eclipse自带git插件进行配置我们的用户名和密码,即是自己github注册用户. 2.windows -- perferences--General--Network Commectio ...
- 2019 SDN上机第二次作业
2019 SDN上机第二次作业 1.利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况 1. ...
- 2019 SDN上机第一次作业
2019 SDN上机第一次作业 1. 安装轻量级网络仿真工具Mininet 安装Mininet的步骤 - git clone git://github.com/mininet/mininet - cd ...
- 微信小程序云开发-从0打造云音乐全栈小程序
第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- linux-部署2
gunicorn+supervisor 1.gunicorn 安装: pip3 install gunicorn 配置: 两种方式:命令和文件,因为配置项比较多,所以放在文件里,启动时指明配置文件即可 ...
- Unity 2018 Cookbook (Matt Smith 著)
1. Displaying Data with Core UI Elements (已看) 2. Responding to User Events for Interactive UIs (已看) ...
- Paper | Deep Residual Learning for Image Recognition
目录 1. 故事 2. 残差学习网络 2.1 残差块 2.2 ResNet 2.3 细节 3. 实验 3.1 短连接网络与plain网络 3.2 Projection解决短连接维度不匹配问题 3.3 ...
- eclipse复制bpmn文件到idea下乱码问题处理
1.最近在学习工作流,在eclipse上画完了流程图,然后复制到idea下,发现节点的汉字是乱码的. 2.处理方案是修改idea的配置文件,如图,打开这两个文件,在文件末尾加上 -Dfile.enco ...
- jboss_log4j.xml配置
log4j是个优秀的开源的java日志系统,jboss内部也集成他,在jboss下默认的只是对server做了每日日志,并没有对你部署的项目进行每日的日志构建,但我们能通过修改jboss-log4j. ...
- DirectShow 学习方法
DirectShow(简称 DShow) 是一个 Windows 平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能. 这篇博客主要是简单讲下如何学习 Direct Show 框架,避免让自己少 ...