Oil Deposits(BFS)

2023-11-05

The GeoSurvComp geologic survey company is responsible for detecting
underground oil deposits. GeoSurvComp works with one large rectangular
region of land at a time, and creates a grid that divides the land
into numerous square plots. It then analyzes each plot separately,
using sensing equipment to determine whether or not the plot contains
oil. A plot containing oil is called a pocket. If two pockets are
adjacent, then they are part of the same oil deposit. Oil deposits can
be quite large and may contain numerous pockets. Your job is to
determine how many different oil deposits are contained in a grid.


Input


The input file contains one or more grids. Each grid begins with a
line containing m and n, the number of rows and columns in the grid,
separated by a single space. If m = 0 it signals the end of the input;
otherwise 1 <= m <= 100 and 1 <= n <= 100. Following this are m lines
of n characters each (not counting the end-of-line characters). Each
character corresponds to one plot, and is either *', representing the absence of oil, or@’, representing an oil pocket.


Output


For each grid, output the number of distinct oil deposits. Two
different pockets are part of the same oil deposit if they are
adjacent horizontally, vertically, or diagonally. An oil deposit will
not contain more than 100 pockets.

Sample Input

1 1
*
3 5
@@*
** @**
@@*
1 8
@@***@
5 5
****@
@@@
@**@
@@@
@
@@**@
0 0

Sample Output

0
1
2
2

翻译

GeoSurvComp地质调查公司负责探测地下石油矿床。GeoSurvComp一次处理一个大矩形区域的土地,并创建一个网格,将土地划分为多个方形地块。然后,它分别分析每个地块,使用传感设备确定地块是否含油。含有石油的地块称为“口袋”。如果两个油槽相邻,则它们是同一个储油层的一部分。石油储量可能相当大,并可能包含大量的气穴。您的工作是确定网格中包含多少不同的石油储量。

输入
输入文件包含一个或多个网格。每个网格从一行开始,其中包含m和n,即网格中的行数和列数,由单个空格分隔。如果m=0,则表示输入结束;否则,1<=m<=100和1<=n<=100。接下来是m行,每行包含n个字符(不包括行尾字符)。每个字符对应一个绘图,或者是“*”,表示无油,或者是“@”,表示油袋。
输出
对于每个网格,输出不同石油沉积的数量。如果两个不同的油槽水平、垂直或对角相邻,则它们是同一油藏的一部分。一个储油层中的油袋不得超过100个。

思路:
探索找到油田的周围8个方位,还有油田就给他清空,继续找是否有相邻的油田,没有则接着遍历,由于相邻的油田被清空了,所以不会有重复的计数,最后得出不相邻的油田的数量。

#include<iostream>
#include<string>
#include<queue>
using namespace std
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oil Deposits(BFS) 的相关文章

  • OpenHarmony 3.1 Beta版本关键特性解析——OpenHarmony图形框架

    以下内容来自开发者分享 不代表 OpenHarmony 项目群工作委员会观点 李煜 华为技术有限公司 崔坤 华为技术有限公司 众所周知 动画是系统和应用与用户交互的重要环节 动画效果的好坏会直接影响用户的体验 动画效果依赖图形系统 华为作为

随机推荐

  • 耗时半月,终于把牛客网上的Java面试八股文整理成了PDF合集

    每个技术人都有个大厂梦 我觉得这很正常 并不是饭后的谈资而是每个技术人的追求 像阿里 腾讯 美团 字节跳动 京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司 小公司 如果说能够在这样的公司锻炼几年 相信对自己能力的提升还是非常大的
  • Spark创建hive表报错 ROW FORMAT DELIMITED is only compatible with ‘textfile‘, not ‘orc‘

    创建hive表失败 报错异常信息 Operation not allowed ROW FORMAT DELIMITED is only compatible with textfile not orc line 1 pos 0 SQL cr
  • 有序链表转换成二叉树

    1 问题描述 给定一个单链表 其中的元素按升序排序 将其转换为高度平衡的二叉搜索树 本题中 一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 示例 给定的有序链表 10 3 0 5 9 一个可能的答案是 0
  • typora安卓_经验

    同一个系统生态数据共享很简单 可若是安卓 windows ios三个系统呢 配上BGM阅读体验更佳 由于我的设备是安卓手机 windows电脑 以及ipad 三个不同的系统之间 有时信息和数据的交流并不是特别方便 所以需要一个工作流 借助一
  • 深度学习模型部署的步骤和相关注意事项

    文章目录 深度学习模型部署的步骤和相关注意事项 什么是模型部署 步骤1 选择合适的部署环境 步骤2 选择合适的部署框架 步骤3 将模型转换为部署格式 步骤4 创建API接口 步骤5 部署模型 总结 深度学习模型部署的步骤和相关注意事项 什么
  • SQLi-LABS Less-11&&Less-12

    Less 11题目 使用bp抓包进行观察 得知这是POST注入 进行测试 猜字段数 获显示位 查数据库名 查表名 查列名 查列里面的内容 Less 12题目 Less 12具体做法和Less 11一样只不过闭合的姿势不一样而已 由bp抓包得
  • 解决Windows下的mysql Access denied for user ‘root‘@‘localhost‘ 和 远程连接数据库问题

    问题 Access denied for user root localhost using password YES 这是root帐户默认不开放远程访问权限 所以需要修改一下相关权限 解决方案 打开MySQL目录下的my ini文件 在文
  • linux swap shayisi,临时邮箱,10分钟邮箱域名收集(持续更新)

    临时邮箱 10分钟邮箱域名收集 持续更新 如果你的网站开通了邮箱注册功能 那么你肯定不喜欢注册的人是 临时 的 希望下面收集到的临时邮箱 10分钟邮箱 域名能帮助到你 9em org quickemail info wmail2 com s
  • 软件架构详解(附图)

    软件架构 software architecture 软件架构 software architecture 是一系列相关的抽象模式 用于指导大型软件系统各个方面的设计 软件架构是一个系统的草图 软件架构描述的对象是直接构成系统的抽象组件 各
  • springboot2.0入门(三)----定义编程风格+jackjson使用+postMan测试

    一 RESTFul风格API 1 优点 看Url就知道要什么资源 看http method就知道针对资源干什么 看http status code就知道结果如何 HTTP方法体现对资源的操作 GET 获取资源 POST 添加资源 PUT 修
  • python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类

    效果演示 视频演示 python行为识别行为骨骼框架检测动作识别动作检测行为动作分类 项目下载链接 https download csdn net download babyai996 87552750 0环境项目配置教程 https do
  • PyTorch 2.0 实操:为 HuggingFace 和 TIMM 模型提速!

    PyTorch 2 0 通过简单一行 torch compile 就可以使模型训练速度提高 30 200 本教程将演示如何真实复现这种提速 torch compile 可以轻松地尝试不同的编译器后端 进而加速 PyTorch 代码的运行 它
  • 资深人士对大数据的解析

    在银行做了两年的数据分析和挖掘工作 较少接触互联网的应用场景 因此 一直都在思考一个问题 互联网和金融 在数据挖掘上 究竟存在什么样的区别 在对这个问题的摸索和理解过程中 发现数据挖掘本身包含很多层次 并且模型本身也是存在传统和时髦之分的
  • VS code更新后不在原来位置

    1 大家可能遇到这样一种情况 安装好VS Code后 直接把安装好的目录拷贝到D盘 但是一旦更新 就会重新安装到C Users Users AppData Local Programs 目录下 2 正确处理方式 修改注册表 位置 计算机 H
  • python计算一个三位数个位数之和

    1 输入一个三位数 n input 请输入一个三位数 n int n 将 字符串类型 转成 数值 456 2 得到百位b100 b100 n 100 3 得到十位b10 456 gt 45 gt 5 b10 n 10 10 4 得到个位b1
  • anaconda常用命令及常见错误与解决方法

    一 常用命令 用pip安装依赖包时 默认是从国外下载 可以指定国内源 速度飞快 pip install i 国内镜像地址 包名 例如 pip install i https mirrors aliyun com pypi simple nu
  • 怎么修改服务器的代码,怎么修改云服务器上的源代码

    怎么修改云服务器上的源代码 内容精选 换一换 本节操作介绍购买云耀云服务器的操作步骤 购买时 为减少您配置参数的时间 部分参数由系统自动分配 以下参数配置供你了解系统的默认配置 购买云耀云服务器仅支持 包年 包月 的计费方式 请您在购买前确
  • js通过URL下载服务器文件(可行方法)

    本文讲述已知文件在服务器的地址 如何下载至本地 其他博客分享的一般是这两种 1 通过window open window open https 1 1 1 1 test txt 2 通过get表单请求 var form
  • 深度医疗(3) - 基于深度学习肺部病变诊断识别

    深度医疗是笔者基于深度学习的医学项目应用开发实践 经过整理输出了文档和本系列课程 希望通过分享可以和大家共同讨论 相互学习 探索更好的解决方案 笔者是一名普通的大数据和人工智能领域从业者 过程中如有错误和理解不到位的地方请广大同仁不吝赐教
  • Oil Deposits(BFS)

    The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits GeoSurvComp works with one