华为OD机试 - 机器人活动区域(Java 2024 E卷 200分)

博客介绍了如何解决华为在线测评中的一道算法题,机器人在M×N网格中活动,相邻网格差值≤1时可移动。通过深度优先搜索策略,寻找机器人能到达的最大范围并计算其对应网格点数。提供了详细的解题思路及Java源代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目描述

现有一个机器人,可放置于 M × N的网格中任意位置,每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于 1 时,机器人可在网格间移动

问题:求机器人可活动的最大范围对应的网格点数目。

说明:

1)网格左上角坐标为 (0, 0),右下角坐标为 (m-1, n-1)

2)机器人只能在相邻网格间上、下、左、右移动

示例1,输入如下网格

输出:6

说明:图中绿色区域,相邻网格差值绝对值都小于等于1,且为最大区域,对应网格点数目为6

示例 2,输入如下网格:

输出:1

二、输入描述

第1行输入为M和N,M表示网格的行数,N表示网格的列数。

之后M行表示网格数值,每行N个数值(数值大小用k表示),数值间用单个空格分隔,行首行尾无多余空格。

M、N、k均为整数,且1<=M,N<=150,0<=k<=50。

三、输出描述

输出1行,包含1个数字,表示最大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值