题目描述
有M*N的节点矩阵,每个节点可以向8个方向(上、下、左、右及四个斜线方向)转发数据包,每个节点转发时会消耗固定时延,连续两个相同时延可以减少一个时延值(即当有K个相同时延的节点连续转发时可以减少K-
1个时延值),求左上角(0,0)开始转发数据包到右下角(M-1,N- 1)并转发出的最短时延。
输入描述
第一行两个数字,M、N,接下来有M行,每行有N个数据,表示M* N的矩阵。
输出描述
最短时延值
ACM输入输出模式
如果你经常使用Leetcode,会知道letcode是不需要编写输入输出函数的。但是华为OD机考使用的是 ACM 模式,需要手动编写输入和输出。
所以最好在牛-客上提前熟悉这种模式。例如C++使用cin/cout,python使用input()/print()。JavaScript使用node的readline()和console.log()。Java 使用sacnner/system.out.print()
用例
| 输入 | 3 3 0 2 2 1 2 1 2 2 1 |
| 输出 | 3 |
| 说明 | 无 |
| 输入 | 3 3 2 2 2 2 2 2 2 2 2 |
| 输出 | 4 |
| 说明 | (2 + 2 + 2 -(3-1)) |
机考代码查重
华为OD机考完成之后,官方会进行代码查重。华为 od 机考确实有很大的概率抽到原题。如果碰到了题库中的原题,一定不要直接使用题解中的代码,尤其是变量名,一定要修改,可以改成毫无意义的单词。除了变量名之外,代码的组织

本文介绍了2023年5月华为OD统一考试A卷和B卷的变化,并重点关注B卷的算法问题——从(0,0)到(M-1,N-1)的最短传输时延。考生需要处理M*N的节点矩阵,理解每个节点的时延消耗规则,并解决ACM输入输出模式。文章提供了C++、Java、JavaScript和Python的解题思路。
订阅专栏 解锁全文
1709

被折叠的 条评论
为什么被折叠?



