华为OD机试真题-查找单入口空闲区域【2023.Q1】

2023-11-10

题目描述

给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.
解释:
空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的’O"组成的区域。
如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。
输入描述:
第一行输入为两个数字,第一个数字为行数m,第二个数字列数n,两个数字以空格分隔,1 <= m,n <= 200,剩余各行为矩阵各行元素,元素为’X’ 或O,各元素间以空格分隔。
输出描述
若有唯一符合要求的最大单入口空闲区域,输出三个数字,第一个数字为入口行坐标(范围为0-行数-1),第二个数字为入口列坐标(范围为0~列数-1) ,第三个数字为区域大小,三个数字以空格分隔;若有多个符合要求的最大单入口空闲区域,输出一个数字,代表区域的大小;若没有,输出NULL。
示例1
输入:
4 4
X X X X
X O O X
X O O X
X O X X
输出:
3 15
说明:
存在最大单入口区域,入口行坐标3,列坐标1,区域大小5

示例2
输入:
4 5
X X X X X
O O O O X
X O O O X
X O X X O

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

华为OD机试真题-查找单入口空闲区域【2023.Q1】 的相关文章

随机推荐

  • Arduino使用ESP8266模块联网

    ESP8266模块准备 1 透传程序烧写 2 Arduino与ESP8266接线 Arduino模块程序 测试 总结 上一篇文章已经介绍了 利用 ArduinoIDE开发ESP8266模块 这篇文章介绍一下arduino怎么通过ESP826
  • unity鼠标事件

    鼠标事件 鼠标事件 都是当鼠标和gui或者碰撞体 Collider 交互时候触发 需要说明的是drag其实就是鼠标down后up之前持续每帧都会发送此消息 OnMouseDown 当鼠标上的按钮被按下时触发的事件 OnMouseDrag 当
  • LLVM IR格式的基本介绍

    LLVM IR以两种格式存储在磁盘上 1 位码 bc文件 2 汇编文本 ll文件 以sum c源代码为例 int sum int a int b return a b 使用Clang生成位码 命令如下 clang sum c emit ll
  • 单片机数码管从00到99C语言_51单片机数码管实现1到99显示

    在 51 单片机上实现用数码管显示 1 到 99 的数字 并且时间间隔为 1 秒 全部代码如下 include define uchar unsigned char define uint unsigned int sbit dula P2
  • C语言之tentative definition

    参考链接 What Are Tentative Symbols
  • redisson究极爽文-手把手带你实现redisson的发布订阅,消息队列,延迟队列(死信队列),(模仿)分布式线程池

    参考资料 分布式中间件实战 java版 书籍 多线程视频教程 视频 项目启动环境 导入依赖
  • Android Watchdog分析

    初始化 Watchdog作为一个独立的线程在SystemServer进程中被初始化 private void startBootstrapServices NonNull TimingsTraceAndSlog t Start the wa
  • Ant Design Vue通过iconfont构建自定义图标库

    虽然Ant Design Vue已经为我们内置了很多icon图标 我们很方便就能使用 但有时候有些图表我们还是系统能实现定义 本文主要介绍根据iconfont图标库创建自定义的icon图表 并在Ant Design Vue中使用 首先在ic
  • 3、 数组和字符串的应用 编程实现以下功能:将一个3行5列的二维数组a行和列元素互换,存到另一个二维数组b中。

    3 数组和字符串的应用 编程实现以下功能 将一个3行5列的二维数组a行和列元素互换 存到另一个二维数组b中 include
  • 在 Linux 中使用日志来排错

    人们创建日志的主要原因是排错 通常你会诊断为什么问题发生在你的 Linux 系统或应用程序中 错误信息或一系列的事件可以给你提供找出根本原因的线索 说明问题是如何发生的 并指出如何解决它 这里有几个使用日志来解决的样例 登录失败原因 如果你
  • Hibernate对原生sql处理及结果集报错:Expected type: java.lang.Integer, actual value: java.math.BigInteger

    基于Hibernate执行sql查询方法 映射实体对象报错Expected type java lang Integer actual value java math BigInteger 实体类ChannelTree package co
  • 面试题-6

    1 查找根目录下所有的隐藏目录 root chengyinwu find type d name 2 查找根目录下以rpm结尾的所有文件 root yinwucheng find type f name rpm 3 查找 data bak目
  • CTFshow单身杯 部分wp

    前言 不会吧不会吧不会有人520521不约会打比赛吧 文章目录 1 单身杯热身题目 2 misc签到 3 没大没小的串串 4 任性老板 5 蛤壳雪茄 1 6 蛤壳雪茄 2 7 The Dancing Men 8 伪装成RSA的MUSC 9
  • notion搭建博客方法一:notion简单操作说明

    简介 notion搭建博客的方法有很多种 今天介绍最基础的 原汁原味的方法 步骤 注册一个notion账号 使用邮箱就可以很快注册 免费账号除了附件大小 共享用户数等有部分限制其他基本都不影响使用 新建一个Page 输入 然后table I
  • Java课题笔记~ IoC 控制反转

    二 IoC 控制反转 控制反转 IoC Inversion of Control 是一个概念 是一种思想 指将传统上由程序代码直接操控的对象调用权交给容器 通过容器来实现对象的 装配和管理 控制反转就是对对象控制权的转移 从程序代码本身反转
  • springboot 连接redis

    安装文章https blog csdn net yeluo vinager article details 103680059 问题 F soft Redis x64 3 2 100 gt redis server exe service
  • muduo异步日志总结

    muduo中的日志是指诊断日志 即通常用于故障诊断和追踪的日志 便于服务器发生故障时的线索追踪 是网络库中很重要的一个部分 在总结异步日志之前 首先应该清楚什么是异步日志 与同步日志又有什么区别 同步日志与异步日志 同步日志 网络IO线程或
  • iPhone6可能取代公交卡和门禁卡

    10月28日 苹果公司正在积极寻求合作 以增加iPhone 6和iPhone 6 Plus内置的NFC芯片的用途 该芯片目前只能通过Apple Pay支付服务使用 因为苹果并没有向第三方开放API 应用编程接口 苹果正在与潜在合作伙伴展开沟
  • 流水线上的大专生,成功转行高薪IT岗,历程太心酸

    前言 我来自山东滨州 98年的 毕业于某职业学院 一名大专生 专业是机电一体化技术 对编程的认知度为0 和大多数人一样 一个月2500元 浑浑噩噩的工厂生活 大学时光 基本都是在睡觉 上网 逃课 早退中度过 偶尔会有一丝丝危机感 但是没一会
  • 华为OD机试真题-查找单入口空闲区域【2023.Q1】

    题目描述 给定一个 m xn 的矩阵 由若干字符 和0构成 X表示该处已被占据 0 表示该处空闲 请找到最大的单入口空闲区域 解释 空闲区域是由连通的O组成的区域 位于边界的0可以构成入口 单入口空闲区域即有目只有一个位于边界的0作为入口的