【发布时间】:2018-03-09 06:34:40
【问题描述】:
Ritik - 白日梦者 Ritik 是一个有梦想的人,他日夜不停地做梦,想知道空间和时间、科幻等等。今天又是一天,他梦想着一个银河网格,在那里他应该拯救他的朋友Kriti。
现在,这个网格有点不寻常,由两个物种 Vilgax 和 Arkaknight 组成。 Vilgax 很糟糕,可以让你冻结一段时间,而 Arkaknight 很好,可以让你从一个地方跳到另一个地方。 Grid 由 m 行和 n 列组成。每个单元格由一个整数组成,正数、负数或零。正好有两个零,一个在网格的左上角,另一个在右下角,分别代表 Ritik 和 Kriti 的初始位置。正整数表示 Arkaknight。它使您能够从一个单元格跳转到另一个在网格中的任何位置包含相同整数的单元格。例如 - 一个包含 2 的单元格可以让您跳转到网格中包含 2 的任何其他单元格(如果有一个)。负整数表示 Vilgax。它会冻结一段时间,即您无法在该单元格中存在的整数的绝对值表示的特定时间单位内移动。例如,包含 -3 的单元格会使您在该单元格中冻结 3 个时间单位即您不能移动或跳转到任何其他单元格。 Ritik 还可以移动到共享公共墙的任何单元格,即网格内彼此相邻(顶部、左侧、右侧和底部)。从一个细胞跳到另一个细胞需要一个单位的时间。你的任务是在给定 m x n 网格的情况下,告诉 Ritik 到达 Kriti 所需的最小时间单位。输入格式 输入的第一行包含行数 - M。输入的第二行包含列数 - N。然后输入 M 行,每行分别包含 N 个整数。
注意:正整数的范围为 [ 1, M * N ](含),负整数的范围为
[-1, -( M * N ) ](含)。约束1 <= M <= 1000 1 <= N <= 1000输出格式打印Ritik 到达Kriti 所用的最小时间单位。
示例测试用例 1
Input 3
3
0 2 3
-1 2 -3
3 2 0
输出 3
【问题讨论】:
-
这真的很难理解。请提供一些插图、您尝试过的代码等。另请参阅stackoverflow.com/help/how-to-ask
-
我不知道如何解决这个难题..这就是我正在寻求帮助的..请在下面找到这个难题的链接,它可能会帮助您更好地理解... brainly.in/question/2827213