给定一个 n × m 的网格数字迷宫,每个网格上有一个数字,第 i 行、第 j 列网格上的数字 为 a(i, j),表示走到这个格子后,下一次移动可以往上下左右任一方向走 a(i, j) 格。
请问,若从网格左上角 (1, 1) 位置走到右下角 (n, m) 位置,最少需要走多少次?
输入第一行,两个正整数分别表示 n, m
接下来的第 2 行至第 n + 1 行,每行 m 个数字,用空格隔开,其中第 i + 1 行、第 j 列的 数字表示 a(i, j)。
输出一个整数,表示最少步数,若无法达到右下角,则输出 ‘No Solution‘
3 4 1 2 3 4 1 1 1 1 2 2 2 2
3
(1,1)–>(1,2)–>(3,2)–>(3,4)
对于 30% 的数据,1 ≤ n, m ≤ 10 对于
60% 的数据, 1 ≤ n, m ≤ 100
对于 100% 的数据,1 ≤ n, m ≤ 1000 , 1 ≤ a(i, j) ≤ max(n, m)
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |