题目
小明计划在周末去爬山。他有一份包含山峰高度的地图,其中 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

这道华为在线评估(OD)题目要求解决的问题是,给定一个地图和最大高度差k,从左上角出发,找出能到达的最高山峰及其所需的最少步数。输入包括地图的行数、列数和高度差限制,输出是最高山峰高度和步数。示例输入展示了如何计算高度为2的山峰,需要2步到达。
订阅专栏 解锁全文
467

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



