在一个 N×N 的迷宫中,配送员从左上角出发,目标是到达右下角。他可以向上下左右四个方向移动,每移动到一个相邻的格子需要 1 个单位时间,且必须在最多 K 个单位时间内到达目的地。每个格子都有一个辐射值,配送员需要穿着防护能力不低于相应辐射值的防护服才能通过该格子。因此,配送员希望知道,所需的最低防护能力是多少,以确保能安全到达目的地并满足时间限制。输入包括两个正整数 N 和 K,接下来是一个 N 行的矩阵,表示每个格子的辐射值。输出为一个整数,表示配送员所需的最低防护能力。
在课程前面我们学习了二分答案和二分查找,也学习了单(多)源BFS,这道题目知识点肯定是不难的,只是把两种算法缝合到了一起,在机考中缝合怪也是比较常见的。
看到输出描述要求输出满足条件的最小值,凡是出现最小,最大,最小的最大,最大的最小我们都可以往二分方面去想一想是否有二分性
现存边长为 s 的正方形迷宫场地。出发时送货员站在场地左上角那一格,目的地是右下角那一格。每一步只许迈向上、下、左、右相邻格,迈一次耗时 1。到达右下角所花时间不得超过 t(可以更少)。每一格都标了辐照强度;送货员穿的护具防护等级必须不低于该格读数,否则不能踏入。问:护具防护等级至少要多高,任务才能完成。提醒:左上角与右下角都要经过,所以护具等级不得低于这两格的读数。
开头两行分别写一个正整数,依次为 s 与 t。 随后 s 行,每行 s 个整数、空格隔开,给出各格辐照强度。 2≤s≤100。t≥2s−2,从而保证存在合法走法。各格读数均为非负整数,其绝对值不大于 104。
输出一个整数,即护具所需的最低防护等级。
输入
2
2
3 7
4 2
输出
4
说明
送货员可改走左下方那格(读数为 4)再折向终点,耗时 2。
输入
5
12
1 1 1 1 1
8 8 4 8 1
1 1 1 1 1
1 8 6 8 8
1 1 1 1 1
输出
4
说明
较优走法:先向右迈两步,再向下两步,向左两步,向下两步,最后向右四步,耗时 12,途经格子的最大读数为 4。 同一张图里,把时限改成 16 时答案是 1;改成 8 时答案是 6。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册