获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
小华按照地图去寻宝,地图上被划分成 m 行和 n 列的方格,横纵坐标范围分别是 [0, n-1] 和 [0, m-1]。
在横坐标和纵坐标的数位之和不大于 k 的方格中存在黄金(每个方格中仅存在一克黄金),但横坐标和纵坐标之和大于 k 的方格存在危险不可进入。小华从入口 (0,0) 进入,任何时候只能向左,右,上,下四个方向移动一格。
请问小华最多能获得多少克黄金?
输入描述
坐标取值范围如下:
- 0 ≤ m ≤ 50
- 0 ≤ n ≤ 50
k 的取值范围如下: - 0 ≤ k ≤ 100
输入中包含3个字数,分别是m, n, k
输出描述
输出小华最多能获得多少克黄金
题目解析
小华需要在满足条件的网格中收集黄金,条件是:网格的横纵坐标数位之和不大于 𝑘,且横纵坐标之和不大于 𝑘。我们需要设计一个算法来帮助小华找到他能够到达并收集黄金的最大数量,同时避开不满足条件的网格。
算法思路
1.初始化: 创建一个 𝑚×𝑛的矩阵,表示整个地图,其中1表示有黄金,0表示无黄金或不能进入的区域。
2.标记可访问区域:
本文介绍了一个寻宝问题,小华在地图上寻找黄金,受限于坐标数位之和不超过k的条件。文章详细阐述了问题描述、输入输出格式,并提出通过初始化、标记可访问区域、使用DFS或BFS搜索的算法思路。同时,提供了Java、Python和JavaScript三种语言的算法源码。
订阅专栏 解锁全文
1万+

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



