题目描述
给定一个n×m的网格地图,每个格子有一个正整数权值 w[i][j]。
你初始位于起点 (sx,sy),需要走到终点 (ex,ey)。每一步只能选择以下两种操作之一:
向右跳跃:从 (i,j) 走到 (i,j+w[i][j]),行不变
向下跳跃:从 (i,j) 走到 (i+w[i][j],j),列不变
跳跃后必须仍在网格范围内(1≤新行≤n,1≤新列≤m)才算合法。每个格子至多访问一次。求从起点到终点的最少跳跃步数,无法到达输出 -1
输入格式
第一行两个正整数 n,m
第二行四个正整数sx,sy,ex,ey(坐标从 1 开始)
接下来n行,每行m个正整数,为网格权值 w[i][j]
输出格式
一行一个整数:最少步数,无法到达输出 -1
3 3
1 1 3 3
2 2 1
1 1 1
2 1 1
2
3 3
1 1 1 2
2 1 2
1 2 1
2 1 2
-1
解释: 从(1,1)出发,权值为 2,只能到达(1,3)或(3,1)。这两个格子权值也均为 2,继续跳跃时行列号始终为奇数。目标(1,2)的列号为偶数,无法到达。
数据范围与提示
1≤n,m≤50
1≤w[i][j]≤50
起点、终点保证在网格内