.柚不幼.love. 2022-03-12 19:16 采纳率: 50%
浏览 113
已结题

C++ 跳跃(jump)问题怎么解决

题目描述
小z在玩一个跳跃游戏。游戏平面是一个H * W的矩阵,每个格子上有一定高度的石柱。小z可以从任意一个格子开始,但他只能向相邻4个格子跳跃并且跳跃有一定高度限制。设当前所在格子的石柱高度为hi,则他可以跳跃到的高度为[hi - M, hi + M]。每个格子都可以被重复跳到。小z还有一个技能是瞬移。他可以瞬移到任意一个格子。
小z想知道,如果他想把每个格子都至少经过一次,需要瞬移的最少次数(开始也算一次瞬移)。

输入格式
输入第一行为三个整数H,W,M,如题意描述。
接下来H行,每行W个整数表示格子上石柱的高度。

输出格式
输出一行,表示瞬移最少次数。

输入样例
3 4 1
2 0 0 0
0 0 2 2
0 0 2 2
输出样例
3
数据范围与提示
【数据范围与约定】
30%: H, W <= 10, M <= 10
60%: H, W <= 300, M <= 50
100%: H, W <= 500, M <= 256,所有石柱高度 <= 256

@

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 3月19日
    • 创建了问题 3月12日