全新题目


【编程题目 |100分】机器人华为OD机试  2023 Q1考试题 A卷】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++131072K,其他语言262144K

64bit IO Format:%lld


语言限定:
C(clang11), C++(clang++1), Pascal(fpc 3.0.2), Java(javac 1.8), Python2(2.7.3), 
PHP(7.4.7), C#(mcs5.4), ObjC(gcc 5.4), Pythen3(3.9), JavaScript Node(12.18.2), JavaScript V8(6.0.0),
Sqlite(3.7.9), R(4.0.3), Go(1.14.4), Ruby(2.7.1), Swift(5.3), matlab(Octave 5.2), Pypy2(pypy2.7.13),
Pypy3(pypy3.6.1), Rust(1.44), Scala(2.11.12), Kotlin(1.4.10), Groovy(3.0.6), TypeScript(4.1.2), Mysql(8.0)


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【机器人

现有一个机器人,可放置于 M × N 的网格中任意位置,
每个网格包含一个非负整数编号,
当相邻网格的数字编号差值的绝对值小于等于 1 时,
机器人可以在网格间移动。
问题: 求机器人可活动的最大范围对应的网格点数目。
说明:

网格左上角坐标为 ( 0 , 0 ) (0,0) (0,0) ,右下角坐标为 ( m − 1 , n − 1 ) (m-1,n-1) (m−1,n−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
2 4 4 5
3 5 7 1
4 6 2 4

输出

6

说明

在这里插入图片描述

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


代码实现


JAVA


import java.util.*;

public class Main {
    public static void main(String[] args) {

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

C++


#include<bits/stdc++.h>

using namespace std;

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


import sys


class Solution:

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JavaScript


let readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看