华为od机试 Python 【计算最少步数】

2023-11-13

题目

小明计划在周末去爬山。他有一份包含山峰高度的地图,其中 0 代表平地,而 1 到 9 表示不同的山峰高度。

小明可以向上、下、左或右移动一步。但是,由于他不想爬得太累,他决定只在高度差不超过 k 的地方移动。

现在他站在地图的左上角,你能帮他找出他能够到达的最高山峰是多高吗?同时,他想知道到达那里至少需要多少步。

输入
第一行包含三个整数:m、n 和 k,它们分别代表地图的行数、列数和小明可以承受的最大高度差。
接下来的 m 行每行包含 n 个整数,描述了整个山区的高度地图。
输出
输出两个整数:小明能够到达的最高山峰的高度和他到达那里的最少步数。

示例
输入

5 4 1
0 1 2 0
1 0 0 0
1 0 1 2
1 3 1 0
0 0 0 9
输出

2 2
这意味着小明能够到达高度为 2 的山峰,并且他需要走至少 2 步才能到达那里。

代码

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

华为od机试 Python 【计算最少步数】 的相关文章

随机推荐

  • Arduino离线安装Esp8266

    首先安装ArduinoIDE 可以直接去github官网下载 链接 安装完成后 打开Arduino IDE 文件 gt 首选项 在 其他开发板管理器网址 输入框中 填入以下网址 https www arduino me package es
  • mysql下载与安装

    1 网址 http www mysql com 2 进入网址 选择DOWNLOADS 下载 3 选择社区版 4 进入之后选择如下都可以 5 下载64位的 点进来都是最新的版本 点击如下可选择下载之前的版本 6 安装
  • 模型的过拟合与欠拟合

    过拟合与欠拟合 定义 过拟合 High Viarance 欠拟合 High Bias 误差 Error 产生原因 解决方案 防止欠拟合 防止过拟合 正则化 L0范数 L1范数 L2范数 讨论 参考 定义 首先要确定的两个概念是Underfi
  • gtk主题指南

    一 gtk主题指南 1 Widgets 2 Styles 3 Engines 4 gtkrc文件 1 修改构件的属性 2 每一构件的分为五种状态 3 风格绑定 1 将一种风格绑定到组件类 2 组件嵌套的方式widget class 如wid
  • 尚硅谷-谷粒商城P44Vue模板

    配置模板
  • 11个代码质量审核和管理工具,程序员必备!

    点击上方 全栈开发者社区 右上角 设为星标 如今 代码质量分析和审核已成为每个企业的基本流程 随着开源代码库使用的增加 安全性和代码质量对于构建高质量软件至关重要 不良的代码不仅会影响代码的可维护性 而且还会在某些情况下影响其性能 此外 更
  • TensorRT基础

    目录 1 1 TensorRT构建和编译一个模型 1 2 Interference 1 3 动态shape 1 4 ONNX TensorRT的核心在于对模型算子的优化 合并算子 利用GPU特性选择特定核函数等多种策略 通过tensorRT
  • Spring boot2.x配置redis缓存以及利用通配符删除缓存key

    环境 jdk1 8 window系统 需要安装redis maven项目 一 依赖 redis跟缓存依赖是必须的
  • 226. 翻转二叉树

    Definition for a binary tree node function TreeNode val left right this val val undefined 0 val this left left undefined
  • link标签介绍

    定义 HTML外部资源链接元素 规定了当前文档与外部资源的关系 该元素最常用于链接样式表 此外也可以被用来创建站点图标 比如PC端的 favicon 图标和移动设备上用以显示在主屏幕的图标 link标签属性 属性 值 描述 as audio
  • 84、PullToRefresh使用详解

    PullToRefresh使用详解 一 构建下拉刷新的listView http blog csdn net harvic880925 article details 17680305 PullToRefresh使用详解 二 重写BaseA
  • ipsec.conf 各配置含义

    IPsec conf 是 IPsec 协议的配置文件 它包含了各种网络安全相关的配置信息 下面是常见的一些配置项及其含义 conn 连接名 表示需要建立的安全连接的名称 left 或者 leftsubnet 本地端 IP 地址或子网地址 r
  • 【java基础一】string和list互转

    工作中常用到list和string互转 常见的互转方法 list转string 方法1使用java8 Stream流 List
  • vue-router路由的三种传参方式(params/query)

    路由传参 传参方式可分为params传参和query传参 其中params又可分为url中显示参数和不显示参数 1 params传参 显示参数 声明式 router link 该方式通过router link的to属性实现 子路由需要提前配
  • 异步复位同步释放原理

    深度揭秘异步复位同步释放原理 文章右侧广告为官方硬广告 与吾爱IC社区无关 用户勿点 点击进去后出现任何损失与社区无关 明天就放端午小长假了 提前祝大家节日快乐 腾讯官网已经给小编公众号开通了赞赏功能 在文章末尾 这个赞赏是针对原创作者的
  • Python高级培训第二次作业

    import operator class Cat object 创建类cat 继承与object def init self leg 设置 init 就上一个参数leg self leg leg 设置leg的值为leg def run s
  • VM 中ubuntu下----Eclipse ctrl+s 显示update conflict的问题

    VM 中ubuntu下 Eclipse ctrl s 显示update conflict的问题 VMworkstation中使用共享主机的方式 在eclipse下编辑windows下的文件 ctrl s时 显示update conflict
  • WPF 禁用TextBox的触摸后自动弹出虚拟键盘

    原文 WPF 禁用TextBox的触摸后自动弹出虚拟键盘 前言 问题 如下截图 TextBox 在触摸点击后 会自动弹出windows的虚拟键盘 如何 禁用键盘的自动弹出 调用虚拟键盘 通过调用TapTip exe或者osk exe 主动弹
  • 剖析vue常见问题(三)之vue中key的作用和原理

    背景 说到vue中key的作用 大家都知道它可以唯一的确定一个dom元素 从而执行diff算法时更加高效 但是想更加详细的知道具体原因 我们还是需要从源码入手 详见源码 src core vdom patch js中的updateChild
  • 华为od机试 Python 【计算最少步数】

    题目 小明计划在周末去爬山 他有一份包含山峰高度的地图 其中 0 代表平地 而 1 到 9 表示不同的山峰高度 小明可以向上 下 左或右移动一步 但是 由于他不想爬得太累 他决定只在高度差不超过 k 的地方移动 现在他站在地图的左上角 你能