2023华为OD机试真题-机器人活动区域(JAVA、Python、C++)

该博客主要讨论了一个关于机器人活动范围的问题,机器人在M×N的网格中移动,其移动条件是相邻网格数字编号差值的绝对值小于等于1。任务是找到机器人能活动的最大范围,即最大编号差值不超过1的连续区域的网格点数目。博客提供了输入输出描述,包括两个示例,分别解释了不同情况下的输出结果。

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

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

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

说明:

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

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

示例1,输入如下网格

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

示例 2,输入如下网格:

输出:1
说明:任意两个相邻网格的差值绝对值都大于1,机器人不能在网格间移动,只能在单个网格内活动,对应网格点数目为 1
输入描述:
第1行输入为M和N,M表示网格的行数,N表示网格的列数

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

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

输出描述:
输出1行,包含1个数字,表示最大活动区域对应的网格点数目

行末无多余空格
补充说明:
无需验证输入格式和输入数据合法性
 收起
示例1
输入:
4 4
1 2 5 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值