一个正方形矩阵,大小在5*5到20*20之间,四角中必有一角为0,剩下所有格子皆为1-9的随机数。假设该矩阵已知,给定四角中不为0的一角为起始点,0为终点,如何判断在步数不限的情况下能否按下图示例的规则从起点移动到终点?
给定左上角的4为起始点,右下角的0为终点,
起始点数字为四,故可以向上下左右任意方向移动四格,但不能移动到矩阵外。示例中由于起始点为左上角,因此不能向上和左移动,
假设向下移动四格,下一步位置
假设再向右移动三格到2,再向左移动两格到3,再向右移动三格到0,说明可以从起点移动到终点。
下图的示例则无法移动到终点:
起点向右移动一格到4,如果向右超出矩阵范围,如果向下还是4,再次面临超出范围的问题
起点向下移动一格到4,也是一样的问题
这个问题用recursive和不用recursive分别如何回答?
只需考虑矩阵和起点都符合条件,输入为矩阵board[][], 位置p1,位置p2,而board[p1][p2]为起始点
matrix(int p1, int p2, int[][] board)
不按上面的输入数据来也行,我就是给个例子
多谢