题目描述
周末小明准备去爬山锻炼,0代表平地,山的高度使用1到9来表示,小明每次爬山或下山高度只能相差k及k以内,每次只能上下左右一个方向上移动一格,小明从左上角(0,0)位置出发
输入描述
第一行输入m n k(空格分隔)
- 代表m*n的二维山地图,k为小明每次爬山或下山高度差的最大值,
然后接下来输入山地图,一共m行n列,均以空格分隔。取值范围:
- 0 < m ≤ 500
- 0< n ≤ 500
- 0 < k < 5
输出描述
请问小明能爬到的最高峰多高,到该最高峰的最短步数,输出以空格分隔。
同高度的山峰输出较短步数。
如果没有可以爬的山峰,则高度和步数都返回0。
备注
- 所有用例输入均为正确格式,且在取值范围内,考生不需要考虑不合法的输入格式。
用例
| 输入 | 5 4 1 0 1 2 0 1 0 0 0 1 0 1 2 1 3 1 0 0 0 0 9 |
这是一道华为在线开发者(OD)测试中的编程题,涉及Java语言。题目要求解决小明在给定高度差限制下爬山的问题,找到最高峰及其到达的最短步数。输入包括山的尺寸m*n和高度差最大值k,输出是最高峰的高度和最短步数。已知所有输入都是合法的,考生只需关注算法实现。
订阅专栏 解锁全文
933

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



