[ACM]Uva572-Oil Deposits-DFS应用
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
const int maxn = 100 + 5;
char piece[maxn][maxn];
int n,m,idx[maxn][maxn];
void dfs(int r, int c, int id)
{
if(r<0 || r>=m || c<0 || c>=n) return;
if(idx[r][c] > 0 || piece[r][c]!='@') return;
idx[r][c]=id;
for(int dr=-1; dr<=1;dr++)//dfs式探索
for(int dc=-1;dc<=1;dc++)
if(dr!=0 || dc!=0) dfs(r+dr, c+dc, id);
}
int main(){
while(scanf("%d%d", &m, &n) == 2 && m && n)
{
for(int i=0;i<m;i++)
{
cin>>piece[i];
}
memset(idx, 0 ,sizeof(idx));
int cur=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(idx[i][j]==0 && piece[i][j] == '@')
dfs(i,j,++cur);
}
}
cout<<cur<<endl;
}
return 0;
}
[ACM]Uva572-Oil Deposits-DFS应用的更多相关文章
- UVa572 Oil Deposits DFS求连通块
技巧:遍历8个方向 ; dr <= ; dr++) ; dc <= ; dc++) || dc != ) dfs(r+dr, c+dc, id); 我的解法: #include< ...
- UVA572 Oil Deposits DFS求解
小白书上经典DFS题目. 1. 递归实现 // from: https://www.cnblogs.com/huaszjh/p/4686092.html #include <stdio.h> ...
- HDOJ(HDU).1241 Oil Deposits(DFS)
HDOJ(HDU).1241 Oil Deposits(DFS) [从零开始DFS(5)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...
- Oil Deposits(dfs水)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 Oil Deposits Time Limit: 2000/1000 MS (Java/Othe ...
- HDU1241 Oil Deposits —— DFS求连通块
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 Oil Deposits Time Limit: 2000/1000 MS (Java/Othe ...
- Oil Deposits(dfs)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- HDU 1241 Oil Deposits DFS(深度优先搜索) 和 BFS(广度优先搜索)
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- HDU 1241 Oil Deposits (DFS/BFS)
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 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深搜)
Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground ...
随机推荐
- 全局监控Promise错误
一.问题引入 Promise 在前端中的使用已经非常普遍了,但是许多开发者或许习惯了链式调用却忘了捕获 Promise 的错误了. 例如: function forgetCatchError () { ...
- vue项目浏览器ioc小图标
1 先有一个需要图片,png .jpg ...格式都可以 2 把图片转换成 .con 格式的图标 ,http://www.bitbug.net/使用比特虫转换 ,目标尺寸:16*16 或者 32*3 ...
- DML操作数据
添加数据 insert into 表名(列的名称)(数据);ps:列的名称用` `包围可以减少出错 添加全部数据的时候可以把列的名称省略: 修改数据 update 表名 set 列名=数据,列名= ...
- 源代码管理工具:Github
GitHub是一个基于Git的进行版本控制的代码托管网站. Git指的是是一个开放源代码版本控制系统,由Linus Torvalds启动.在时间的累积下,现在的Github是一个最大的开源软件社区.在 ...
- 使用fontmin,压缩字体文件,从十几M到几kb,只选择需要使用的文字
字体文件压缩fontmin,大幅压缩字体文件 快速熟练fontmin的使用,只需要在代码中配置文章中需要用到的文字,可以大幅度缩减代码大小 安装 npm install fontmin 目录结构 sr ...
- dpkt 简单应用
import dpktfrom dpkt.utils import mac_to_str,inet_to_strcap=f'D:/test_pacp/6.pcap'with open(cap,'rb' ...
- DTO的理解
首要的作用,我认为就是减少原生对象的多余参数.包括为了安全,有时候也为了节约流量.例如:密码,你就不能返回到前端.因为不安全. 其次假如说:获取博客列表的时候,也不能返回博客全文吧.顶多就返回标题,i ...
- rgb变为灰度图像
close all;clc; x = imread('C:\timg.jpg'); %读取rgb图片信息I = rgb2gray(x);%将rgb图像转化为灰度图像 set(0,'defaultFig ...
- springBoot 这货特别火
现在 Spring Boot 非常火,各种技术文章,各种付费教程,多如牛毛,可能还有些不知道 Spring Boot 的,那它到底是什么呢?有什么用?今天给大家详细介绍一下. Spring Boot ...
- Longest Common Substring(最长公共子串)
SP1811 题目描述 A string is finite sequence of characters over a non-empty finite set Σ. In this problem ...